[解決済み] 依存性注入の文脈におけるコンポジション・ルートとは何か?
2023-07-17 12:48:52
質問
私は依存性注入を研究しており、この用語は 構成ルート という用語があちこちで使われています。では、それは何なのでしょうか?
どのように解決するのですか?
コンポジション ルートは、依存性注入コンテナーを使用して、アプリケーションのオブジェクト グラフのコンポジションが行われる、アプリケーション内の単一の場所です (これがどのように行われるかは関係ありませんが、コンテナーを使用することもできますし、あるいは、以下のように手動で行われることもあります。 純粋な DI ).
これが起こる場所は1つだけであるべきで、あなたのコンテナはコンポジションルートの外で使用される必要はありません。
下記リンク先の回答の1つから引用します。
実際のところ、これは でコンテナを構成する必要があります。 に設定する必要があります。
- デスクトップ アプリでは、Main メソッド (またはそれに非常に近い場所) で行われます。
- ASP.NET(MVCを含む)アプリケーションの場合、それは Global.asax
- WCF では、ServiceHostFactory になります。
- などになります。
良い答えがあります ここに に、この件に関するもう少し詳しい説明があります。
参照 この回答 .
関連
-
[解決済み] JavaBeanとは何ですか?
-
[解決済み] Inversion of ControlとDependency Injectionの比較
-
[解決済み] DIコードではなく、IoCコンテナが必要な理由とは?[クローズド]
-
[解決済み] なぜ依存性注入を使用するのですか?
-
[解決済み] Dependency Injectionのコンストラクタの狂気を回避する方法とは?
-
[解決済み] 依存性注入は、コンストラクタまたはプロパティ・セッタで行うのですか?
-
[解決済み] DIコンテナを介して作成されたオブジェクトを初期化するパターンはありますか?
-
[解決済み] Ioc/DI - なぜアプリケーションのエントリポイントですべてのレイヤー/アセンブリを参照しなければならないのですか?
-
[解決済み] IServiceProviderのGetRequiredServiceメソッドとGetServiceメソッドの違いは何ですか?
-
[解決済み] IoCコンテナを使って、エンティティ/ビジネスオブジェクトの依存関係を解決しませんか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DIコードではなく、IoCコンテナが必要な理由とは?[クローズド]
-
[解決済み] 依存性注入は、コンストラクタまたはプロパティ・セッタで行うのですか?
-
[解決済み] DIコンテナを介して作成されたオブジェクトを初期化するパターンはありますか?
-
[解決済み] Ioc/DI - なぜアプリケーションのエントリポイントですべてのレイヤー/アセンブリを参照しなければならないのですか?
-
[解決済み] IServiceProviderのGetRequiredServiceメソッドとGetServiceメソッドの違いは何ですか?
-
[解決済み] 制御の逆転」、「依存関係の逆転」、「デカップリング」の違いについて
-
[解決済み] IoCコンテナを使って、エンティティ/ビジネスオブジェクトの依存関係を解決しませんか?