2011-03-19 30 views
0

可能重复:
What should be injected as C'tor paramter under DI principles ?哪些对象应该进入一个依赖容器

我寻找到使用温莎城堡我的下一个项目,我想了解哪些对象应该进入一个依赖容器。我最初的想法是,如果一个对象访问外部资源,电子邮件服务器,数据库,文件系统等,那么这对于进入容器是一个很好的选择。但是,我认为任何使用外部资源的对象也应该进入容器。

这是在使用依赖容器时需要采取的有效方法吗?

+1

重复:http://stackoverflow.com/questions/3361958/what-should-be-injected-as-ctor-paramter-under-di-principles – 2011-03-19 09:12:34

回答

0

依赖注入容器是一个持有某些类型实现(主要实现某个接口或基类)的对象,用于对象的依赖关系。使用DIC有三个阶段:你有一些对象具有一些通过构造函数(例如:在Unity中使用InjectionConstructorAttribute)或属性(例如:使用DependencyAttribute in Unity);下一步是注册实现为那些依赖关系,并且这可以通过代码或配置文件,EX(统一)来实现:

container.RegisterType<IMyInterface>(MyImplementation); 

第三阶段实际上是解决从容器,这样就解决这是一个特定类型的依赖关系(以及它们的依赖关系,如果有的话)等等。 (团结):

var obj = container.Resolve<IMyInterface>(); 

所以,在回答你的问题,什么应该进入依赖注入容器是任何类型的必要解决其他类型的,或者说有它自己的依赖关系(有任何类型在某个时候在容器中注册)。

我希望这有助于:)

0

基本上任何具有依赖性(在构造函数或通过属性)的对象应该在那里,也依赖于它自己。您应该考虑为要放入容器的类创建接口或抽象基类,以便将其嘲笑出来进行测试。