TLDR: IoCコンテナを設定したら、それを使用する最も良い方法は何ですか?依存性注入/サービスロケータコンテナを使用するためのベストプラクティス?
私はIoC(Dependency Injection、Service Locatorsなど)を読んできました。私はDIが得意であり、IoCコンテナはオブジェクトのインスタンス化を容易にすることができますが、が見つからない場合は、を使用してください。ほとんどのチュートリアルでは、コンテナの設定を取得してあなたのところへ送りますが、何らかの理由で注入コンテナが設定されたら、そのコンテナを最も有効に活用する方法についてはクリックしていません。
- インスタンス化アップフロント考え得るすべての依存関係と依存関係の潜在的に膨大な数の単一のエントリポイントを経由してアプリケーションを介してこれらの流れを持っている:私はそこに私はコンテナを使用することができ、2つの方法がある伝えることができるものから、
。
- 本当に必要のないクラスインスタンスがたくさん作成されている可能性があるため、これは馬鹿馬鹿しいようです。また、これを行うにはコンテナはほとんど必要ないと思われます。
- 注入コンテナをグローバルスコープに移動し、依存関係のある新しいオブジェクトが必要なときはいつでも呼び出すことができます。
- これは愚かなためと思われる。)今はグローバル/シングルトン(嘔吐)とBを作成しました。)今、あなたの依存関係のインジェクターiteselfがは、依存関係です。
これらのオプションのどちらも、理想的ないないようですので、私はちょうど注入コンテナが実際に使用されることを意図している方法についての基本的な何かが欠けている場合、私は思ったんだけど。どんな助けもありがとう!
[この本](https://www.manning.com/books/dependency-injection-in-dot-net)のコピーを入手するようアドバイスできます。 – Steven