Emi*_*nem 13 c# design-patterns factory inversion-of-control
可能重复:
依赖注入与工厂模式
有人可以解释(简单例子)工厂模式和反转控制模式之间的区别.最好使用.NET2.0
Nou*_*uny 16
工厂模式: 需要引用服务的对象应该知道创建服务的工厂:
public class BLLObject
{
public IDal DalInstance { get; set; }
public BLLObject()
{
DalInstance = DalFactory.CreateSqlServerDal();
}
}
Run Code Online (Sandbox Code Playgroud)
Ioc模式(或依赖注入):
对象只需要使用Ioc模式(构造函数,设置器或接口等)的任何方面来声明它对服务的需求,容器将尝试满足这个需求:
public class BLLObject
{
public IDal DalInstance { get; set; }
public BLLObject(IDal _dalInstance)
{
DalInstance = _dalInstance;
}
}
Run Code Online (Sandbox Code Playgroud)
这意味着在工厂模式中,对象决定使用哪种创建方法(通过选择特定的具体工厂),但在Ioc模式中,由选择的容器决定.
当然这不是唯一的尊重,但这是我暂时想到的.如果我错了,请纠正我?