【发布时间】:2013-02-19 17:54:14
【问题描述】:
如果我有以下类结构:
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)
....
}
我想注册同一个 DataService 的两个不同实例——一个注入 AContainer,一个注入 BContainer——同时将 AContainer 的日志注入其 DataService 并将 BContainer 的日志注入其 DataService。
似乎有一条路线引导我使用 ResolvedParameter 注册完整结构,这让我感觉不舒服,因为我需要将 ISomethingElse 和 IWhatever 与 Container 一起注册。
另一条路线将我引向属性注入,这通常是不鼓励的,但在这里可能有一席之地。
那么在 IoC 中是否存在此类问题的常见模式,Unity 是否支持?
【问题讨论】:
标签: .net unity-container ioc-container