マルチレベルの Castle Windsor アプリケーションにオブジェクトを登録する最適な場所と方法
Castle Windsor を多層構造 (データ アクセス層、ビジネス ロジック層、アプリケーション層など) を持つアプリケーションに統合する場合は、Windsor でのオブジェクト登録の設計を慎重に検討することが重要です。問題は、誰がオブジェクトの登録を担当するべきかということです。
オブジェクト登録の設計計画
推奨方法: 組み合わせルート
最大限のモジュール性と疎結合を実現するには、すべてのアプリケーション コンポーネントをできるだけ遅く構成する必要があります。実際には、これはアプリケーションのルートでコンテナーを構成することを意味します:
Main
方法 Global.asax
ServiceHostFactory
コンテナは合成エンジンとして機能し、アプリケーション ルートは 合成ルート として機能します。これにより、アプリケーションは不必要な単体テストを行わずに単純な実行可能ファイルのままになります。
コンテナを使用しないテスト
テストではコンテナに依存しないようにする必要があります。代わりに、オブジェクトとモジュールはコンテナに依存しないように設計する必要があります。単体テストは、これらのコンポーネントのテスト ダブルを直接提供できます。
Windsor インストーラーは
のパッケージ化に使用されますWindsor では、コンポーネント登録ロジックを IWindsorInstaller
を実装するインストーラーにカプセル化できます。詳細については、Windsor のドキュメントを参照してください。
以上が最適な設計とテスト容易性を実現するには、多層キャッスル ウィンザー アプリケーションのどこにオブジェクトを登録すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。