次のクラス構造がある場合:
public AContainer : IContainer
{
public AContainer(ILogger log, IDataService dataService)
....
}
public BContainer : IContainer
{
public BContainer(ILogger log, IDataService dataService)
....
}
public DataService : IDataService
{
public DataService(ILogger log, ISomethingElse somethingElse, IWhatever whatever)
....
}
そして、AContainer のログを DataService に、BContainer のログを DataService に注入しながら、同じ DataService の 2 つの異なるインスタンスを登録したいと考えています。
ISomethingElse と IWhatever をコンテナーと共に登録する必要があるため、ResolvedParameter を使用して完全な構造を登録する方法が 1 つあります。
別のルートは、プロパティ インジェクションへと私を導きます。これは、一般的に推奨されませんが、ここでは場所があるかもしれません。
IoC でこの種の問題に共通するパターンはありますか? Unity でサポートされていますか?