5

ウィンザー城のコンテナをインスタンス化するのに最適な場所は、クラスライブラリのどこにあるのでしょうか。

使用しているクラスのコンストラクターで単純に実行する必要がありますか、それとも、認識していないアセンブリの単一のエントリポイントがありますか?

ありがとう。

4

2 に答える 2

7

挿入されたオブジェクトグラフの構成は、実際にそれを使用するアプリケーションのニーズに完全に依存します。コンテナを使用するポイントは、実行時に依存関係を構成できるようにすることです。ライブラリは、コンテナがどのように使用されるかについて何も知りません。

ライブラリクラスは、好きなコンテナを使用できるように、または消費者が適切と考えるように貧乏人の依存性注入を使用できるように作成する必要があります。ライブラリをコンテナに結合するのは匂いです。

于 2012-05-11T08:51:05.900 に答える
6

クラスライブラリに直接コンテナを使用するべきではないと言うかもしれません。クラスライブラリには、ライブラリ内のクラス間に依存関係がある必要があります。アプリケーション(フロントエンド/アプリグラフのルート)は、コンテナーを使用して、クラスライブラリへの依存関係を含むすべての依存関係を解決します。IoCクラス内ライブラリを使用するIMHOは、ServiceLocatorのようなにおいがします。

于 2012-05-11T07:59:45.753 に答える