そこで私はこの新しいプロジェクトを開始し、私が読んでいたすべての新しい設計原則を取り入れようとしました。つまり、物事をゆるく結合し、テスト可能にし、いくつかのパターンに従うようにしました。
そのため、クラスコンストラクターに多くのファクトリ/マネージャーを渡さなければならないという問題に遭遇しました。これにより、依存関係の注入が発生しました。
public class SomeClass
{
public SomeClass(IDBFactory factory, IOrderManager orderManager, ....)
}
したがって、私がninjectを使用する場合、私が理解していることから、特定の実装をクラスにバインドします。
では、舞台裏で何が起こっているのでしょうか?
NInjectは、SomeClassをインスタンス化するたびに、構成ファイルで定義した実装をバインドしますか?
すなわち
そうです:
ISomeClass sc = NInject.Get<ISomeClass>();
そしてninjectはします:
new SomeClassImpl(pass in all the implementaitons in the constructor)
正しい?