【发布时间】:2015-12-22 19:20:20
【问题描述】:
我遇到了这段代码:
public class SomeServiceFactory : ISomeServiceFactory
{
private IUnityContainer container;
public SomeServiceFactory(IUnityContainer unityContainer)
{
this.container = unityContainer;
}
public virtual ISomeService GetSomeService()
{
return this.container.Resolve<ISomeService>();
}
}
我试图了解这种模式如何更有用,然后简单地让这个工厂的消费者直接注入ISomeService?因此,成为服务本身的消费者,而不是工厂。这个额外的间接层实现了什么,如此处实现的?
我知道,如果 ISomeService 的创建需要更复杂的逻辑,而 container.Resolve 无法实现,那么肯定需要一个工厂。
【问题讨论】:
标签: dependency-injection unity-container factory