在多層 Castle Windsor 應用程式中註冊物件的最佳位置及方法
在將 Castle Windsor 整合到具有多層結構(例如資料存取層、業務邏輯層和應用程式層)的應用程式中時,請務必仔細考慮 Windsor 中物件註冊的設計。問題在於:誰該負責註冊對象?
物件註冊的設計方案
建議方法:組合根
為了實現最大的模組化和鬆散耦合,所有應用程式元件都應盡可能晚地進行組合。實際上,這意味著在應用程式的根目錄中配置容器:
Main
方法Global.asax
ServiceHostFactory
容器充當組合引擎,應用程式根目錄充當組合根。這可確保應用程式保持簡單的可執行文件,無需進行不必要的單元測試。
無容器的測試
測試應避免依賴容器。相反,物件和模組的設計應與容器無關。單元測試可以直接為這些組件提供測試替身。
Windsor 安裝程式用於封裝
在 Windsor 中,元件註冊邏輯可以封裝在實作 IWindsorInstaller
的安裝程式中。有關更多詳細信息,請參閱 Windsor 文件。
以上是我應該在多層 Castle Windsor 應用程式中的哪裡註冊物件以獲得最佳設計和可測試性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!