私はこのスレッド全体を2回読みましたが、人々は質問されたものではなく、知っていることで反応していると思います。
JPの元の質問は、リゾルバーを送信してから一連のクラスを送信してオブジェクトを構築しているようですが、これらのクラス/オブジェクト自体がサービスであり、注入の準備が整っていると想定しています。そうでない場合はどうなりますか?
JP、あなたはレバレッジDIに探している場合やコンテキストデータとの注入を混合の栄光を望んで、これらのパターン(またはなって「アンチパターン」)のいずれも、具体的アドレスという。実際には、そのような取り組みであなたをサポートするパッケージを使用することになります。
Container.GetSevice<MyClass>(someObject1, someObject2)
...このフォーマットはほとんどサポートされていません。実装に関連する悲惨なパフォーマンスに加えて、そのようなサポートのプログラミングの難しさは、オープンソース開発者にとって魅力のないものにしていると思います。
しかし、MyClassのファクトリを作成して登録でき、そのファクトリは、単に渡すために「サービス」にプッシュされないデータ/入力を受け取ることができるはずなので、実行する必要があります。データ。「アンチパターン」が否定的な結果である場合、データ/モデルを渡すための人工サービスタイプの存在を強制することは確かに否定的です(クラスをコンテナーにラップすることに対する感覚と同じです。同じ本能が適用されます)。
ただし、少し見苦しく見えても役立つフレームワークがあります。たとえば、Ninject:
コンストラクターで追加のパラメーターを指定してNinjectを使用してインスタンスを作成する
これは.NET向けであり、人気があり、本来の状態ほどきれいではありませんが、使用する言語には何でも選択できるはずです。