7

私は依存性注入について学ぼうとしており、次のような小さな依存性注入コンテナについて読んでコーディングしようとしています:http: //fabien.potencier.org/article/12/do-you-need-a-dependency -注入コンテナ

私を混乱させているのはこれです:

依存性注入コンテナは、ファクトリパターンの単なる栄光の実装ではありませんか?

もしそうなら、なぜそれを単にそれと呼んではいけないのか、なぜ混乱させるためだけに派手な用語が必要なのか。

そうでない場合、誰かが私がここで欠けているものを説明できますか?

4

1 に答える 1

8

依存性注入と制御の反転を分離する必要があります。

依存性注入とは、クラス自体に依存性の責任を負わせるのではなく、依存性をクラスに注入することです。

制御の反転は、何かがオブジェクトとその存続期間を制御するというものです。この場合、オブジェクトをいつどのように作成して破棄するかを決定するのはコンテナ次第です。

ファクトリパターンとは、呼び出しごとに新しいオブジェクトを作成することです。パターン自体は、依存関係を作成する方法については何も述べていません。

そのため、さまざまなライフタイムを構成し、子コンテナーを使用して、ライフタイムが制限されたオブジェクトを制御できます。

私はここにそれについての記事を書きました:http://www.codeproject.com/Articles/386164/Get-injected-into-the-world-of-inverted-dependenci

または、他の例で見たい場合:http: //www.codeproject.com/Articles/440665/Having-fun-with-Griffin-Container

于 2012-08-24T08:00:09.950 に答える