1. ホーム
  2. dependency-injection

[解決済み] 依存性注入の文脈におけるコンポジション・ルートとは何か?

2023-07-17 12:48:52

質問

私は依存性注入を研究しており、この用語は 構成ルート という用語があちこちで使われています。では、それは何なのでしょうか?

どのように解決するのですか?

コンポジション ルートは、依存性注入コンテナーを使用して、アプリケーションのオブジェクト グラフのコンポジションが行われる、アプリケーション内の単一の場所です (これがどのように行われるかは関係ありませんが、コンテナーを使用することもできますし、あるいは、以下のように手動で行われることもあります。 純粋な DI ).

これが起こる場所は1つだけであるべきで、あなたのコンテナはコンポジションルートの外で使用される必要はありません。

下記リンク先の回答の1つから引用します。

実際のところ、これは でコンテナを構成する必要があります。 に設定する必要があります。

  • デスクトップ アプリでは、Main メソッド (またはそれに非常に近い場所) で行われます。
  • ASP.NET(MVCを含む)アプリケーションの場合、それは Global.asax
  • WCF では、ServiceHostFactory になります。
  • などになります。

良い答えがあります ここに に、この件に関するもう少し詳しい説明があります。

参照 この回答 .