一般的に、コンストラクタインジェクションを使用し、コンテナを自分のクラスに注入しないように、依存性注入フレームワークを試します。しかし、メッセージプロセッサの複数のインスタンス(処理スレッドごとに1つ)を作成する必要があるため、コンストラクタインジェクションを使用してそれらのプロセッサをインスタンス化することはできません。ユニティフレームワークを使用してクラスの複数のインスタンスをインスタンス化するための最適なデザインパターン
もちろん、私は容器を注入してそれを使ってプロセッサを解決することができますが、多くはそれが反パターンであると言われています。代わりに、それらのためのファクトリを作成し、ファクトリを解決し、それを使ってプロセッサを構築することもできます。しかし、タイプを正しく構築するためにパラメータを必要としなくても、注入したいタイプごとに別々のファクトリを用意する必要があるので、オーバーヘッドのように思えるので、代わりにコンテナを挿入する傾向があります。このシナリオを処理する最良の方法について他の人が考えていますか?
ご協力いただきありがとうございます。
'Func'を挿入しようとしましたか? 'T'が登録されている場合、Unityは' Func 'をどのように注入するかを知っています。スレッドごとにメッセージプロセッサを作成する方法を示すコードを提供できますか? –
ありがとう!これは私のために働いています。カスタムファクトリクラスを宣言することなくIMessageProcessorを構築するファクトリを作成しています。残念ながら、これはコメントとして入力されているため、解決策としてマークすることはできませんが、これで問題は解決しました。 – user756366