コンストラクタの注入パターンとルールDon’t call the container; it’ll call youの周りでちょっと混乱しています。コンストラクタインジェクション - どこから呼び出しますか?
実際のアプリケーションがコンストラクタインジェクションを使用してすべてのDIの利点を引き出す方法を誰かに教えてもらえますか?私はそのためにいくつかの簡単なを与えると私は一般的な例だと思う:
DomainObject
RepositoryObject
DaoObject
関係は(私が思う)明白である - RepositoryObjectはDaoObject、domainObjectのリポジトリを必要とする必要があります。
コンストラクタインジェクションの使用私は、新しいキーワード(通常はドメイン)をいつ、どこで、どのように作成すればよいのですか?私はすべてのクラスの工場を書く必要がありますか?その工場のDIコンテナを参照する必要がありますか?
誰かが私にいくつかの実際のアプリケーションの例(Asp.Net MVC :)をしないでください)またはいくつかのプロジェクトの構造をスケッチするときは最高です。
この回答を見る:http://stackoverflow.com/questions/6277771/what-is-a-composition-root-in-the-context-of-dependency-injection/6277806#6277806 –
@Mark - Ok、私はそれを把握すると思うが、私はドメインオブジェクトの作成にいくつかの問題があります。私はコントローラーオブジェクト(アプリケーションのルートとしてGlobal.asax)を作成して、今私はいくつかのアクション(投稿)を持っていて、この時点で作成しなければならないと仮定して、新しいブックとブックに必要な依存性ofc(リポジトリーまたは何か) 。その新しいオブジェクトを作成する方法は?私は常にその依存関係をControllerオブジェクトに提供する必要がありますが、そのうちのいくつかは私の "ブック"オブジェクトを作成するためにのみ使用されますか?リポジトリと同じ状況があります(その一部のメソッドは新しいドメインオブジェクトを作成します)。 – mgibas
http://stackoverflow.com/questions/4835046/why-not-use-an-ioc-container-to-resolve-dependencies-for-entities-business-object/4836790#4836790 –