在多層級 Castle Windsor 應用中註冊對象的最佳位置及方法
在將 Castle Windsor 集成到具有多層結構(例如數據訪問層、業務邏輯層和應用層)的應用程序中時,務必仔細考慮 Windsor 中對象註冊的設計。問題在於:誰應該負責註冊對象?
對象註冊的設計方案
推薦方法:組合根
為了實現最大的模塊化和鬆散耦合,所有應用程序組件都應盡可能晚地進行組合。實際上,這意味著在應用程序的根目錄配置容器:
Main
方法Global.asax
ServiceHostFactory
容器充當組合引擎,應用程序根目錄充當組合根。這確保應用程序保持簡單的可執行文件,無需進行不必要的單元測試。
無需容器的測試
測試應避免依賴容器。相反,對象和模塊的設計應與容器無關。單元測試可以直接為這些組件提供測試替身。
Windsor 安裝程序用於封裝
在 Windsor 中,組件註冊邏輯可以封裝在實現 IWindsorInstaller
的安裝程序中。有關更多詳細信息,請參閱 Windsor 文檔。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3