我想通過遍歷一個目錄結構來動態加載代碼,並動態加載我在那裏找到的任何模塊。如何動態地將模塊包含在嵌套目錄中?
這樣做的目的是運行一系列驗證。如果頂級驗證失敗,則不會運行任何子驗證。
我的想法是,一個控制器對象可以掃描目錄,建立模塊的層次結構,然後根據高級驗證的成功/失敗來決定是否遍歷樹的特定部分。
例如,我可能會對一個正則表達式運行一系列驗證,但是,如果正則表達式不存在或爲空,則不應運行任何驗證。在這種情況下,頂級目錄將包含exists
驗證,並且如果存在正則表達式,則子目錄將包含要運行的所有其他驗證。
能夠在單獨的文件中定義這些驗證並創建所需的層次結構對於以後輕鬆添加其他驗證非常有用,而不是必須破解打開現有類並添加方法。
有沒有辦法讓應用程序可以動態地掃描目錄,將文件名保存在集合中,然後在需求中使用該集合的元素?我不這麼認爲。什麼是負載?
有什麼辦法可以實現這樣的設計嗎?或者我想這些都是錯誤的,應該考慮一些其他的方法?
我不確定你的目標是什麼。這聽起來更像是一個驗證鏈,而不像動態模塊加載。驗證*方法*可以存在,而不管驗證集合的成功/失敗。 –