我偶然发现了一些代码,我很好奇为什么它会这样。构造具有函数作为依赖注入手段的对象
有两个构造函数,主要是在代码中调用,第二个是在依赖注入测试中使用。第二个构造函数接受一个返回对象的函数,而不是对象本身的一个实例。
MainConstructor()
:this(() => Factory.Current.GetInstance<IQueryService>()){
}
SecondConstructor(Func<IQueryService> getQueryService){
}
我很好奇你会从传递函数而不是实例中获得好处。
什么是一种奇怪的方式来做依赖注入。 – Snowbear 2011-02-07 19:11:13