特定の要件を持つモジュール (Autofac Web フォーム統合を使用して単純な ASP サイトで参照される) を作成しようとしています。特定のルール セットを使用して作成された文字列を返す必要があります。これらのルールは、「アクター」ごとに異なる戦略によって定義されます。「アクター」は、リクエストからの値に応じて実行時に選択されます。事態をさらに難しくするために、一部の「アクター」は、たとえばリクエストの国に基づいて、この戦略の異なる特定の実装を持つことができます。
私はすでに抽象ファクトリと具体的なファクトリを使用してこの問題を解決しました(最初にどの「アクター」の具体的なファクトリを使用するかを理解し、2番目に特定のアクターまたは一般的なアクターの戦略が必要かどうかを判断します)。問題は、強力なモジュール設計を採用しているため、特定のアクターの戦略クラスへの間接参照を取得するためにリフレクションを使用する必要があることです (そうでなければ、すべての特定の戦略実装を含むすべての dll への参照が必要です)。
主に、必要なコンポーネントを動的にロードする独自の方法を使用したいため、このアプローチは避けたいと思います。
Autofac の可能性をいくつか調べたところ、同じインターフェイスのさまざまな実装を登録し、ここで説明されているようにキーを使用して解決できることがわかりました ( https://code.google.com/p/autofac /wiki/TypedNamedAndKeyedServices )。問題は、抽象ファクトリと具象ファクトリ内でそれらを解決する方法がわからないことです(そこにリゾルバーへの参照がありません...そして、それを避けるべきだと思います)。
だから私の質問は:
1) そのシナリオで Autofac を使用するにはどうすればよいですか? ベストプラクティスは何ですか(確かに私は何か大きなものを見逃しています)
2) このモジュールのすべての設計を再考する必要がありますか? つまり、抽象ファクトリと具体的なファクトリを使用する必要がありますか?
3) 誰かが私の問題に関連している可能性のある例やチュートリアルを教えてもらえますか?
長くてわかりにくい質問で申し訳ありません。