我在使用IoC容器理解依赖注入的实用面时遇到问题。我在使用ControllerFactory
的IController
类上实施依赖注入时没有问题。这是大多数IoC容器的默认示例。依赖注入实用信息?
但现在呢?是否只是在代码中使用IFoo bar = Container.Resolve<IFoo>;
而不是IFoo bar = new Foo();
?
更新: 根据GOR这不是一个好主意。应该使用构造函数引入依赖关系。
但这在实践中意味着什么?
interface IFoo {
IDependent dependency;
}
class Foo : IFoo {
public Foo(IDependent dependency) {
this.dependency = dependency;
}
}
我只能想象做这个?!?
IFoo bar = new Foo(dependencyInstance);
相关:http://stackoverflow.com/questions/4570750/dependency-injection-turtles-all-the-way-down – 2011-02-15 18:13:09