我正在寻找Unity的一些基本示例/解释。我很难理解这个概念。我对注入模式有基本的了解,因为Unity似乎与它紧密相关。我感谢任何帮助。什么是Microsoft Unity?
9
A
回答
11
团结是several DI Containers for .NET之一。当有问题的类型遵循Dependency Inversion Principle时,它可用于组成对象图。
做到这一点的最简单的方法是使用构造函数注入模式:
public class Foo : IFoo
{
private readonly IBar bar;
public Foo(IBar bar)
{
if (bar == null)
throw new ArgumentNullException("bar");
this.bar = bar;
}
// Use this.bar for something interesting in the class...
}
现在,您可以在应用程序的Composition Root配置统一:
container.RegisterType<IFoo, Foo>();
container.RegisterType<IBar, Bar>();
的是注册阶段的Register Resolve Release pattern。在解决相container
将自动线无需进一步配置对象图:
var foo = container.Resolve<IFoo>();
这自动地工作,因为所涉及的类的静态结构包括的所有信息的容器需要构成对象图形。
0
1
相关问题
- 1. 什么是Microsoft OSLO?
- 2. 什么是Unity InjectionConstructor属性?
- 3. 什么是Microsoft Application Verifier?
- 4. Microsoft WebMatrix:它是什么?
- 5. 什么是用于Microsoft Windows
- 6. WPF/Prism:什么是UNITY容器?
- 7. Unity中的AutoFac SingleInstance()是什么?
- 8. 为什么Unity在Unity中看起来是紫色的?
- 9. Microsoft Unity基类拦截
- 10. Microsoft Unity容器的性能
- 11. Microsoft Unity-解决问题
- 12. 什么是Microsoft SQL加入使用
- 13. 什么是为Microsoft文件格式
- 14. 什么是Microsoft Team Foundation Server中的“$(SourceDir)”?
- 15. Microsoft ProClarity的当前状态是什么?
- 16. 什么是Microsoft Document Explorer 2008用于?
- 17. 什么是Microsoft SQL服务器,为什么需要安装它?
- 18. Microsoft Unity IoC不起作用和ASP.NET mvc4应用程序。为什么?
- 19. Microsoft Unity,构造函数中的参数
- 20. 拦截的Microsoft Unity XML配置
- 21. Microsoft Unity的Programatic属性注入
- 22. Unity:初始化Microsoft Media Foundation失败
- 23. Microsoft Unity - 是否可以在运行时更改注册类型?
- 24. 什么是Microsoft消息队列(MSMQ)?它是如何工作的?
- 25. 什么是温莎城堡的Depends在Unity中的等值?
- 26. 为什么Unity启动这个实例不是一个单例?
- 27. 实现Unity Singleton的最佳方式是什么?
- 28. 实际fontSize在Unity中的含义是什么?
- 29. 什么是Firebase-Unity插件中的'transaction'命令?
- 30. 什么是在Unity容器上调用dispose的最佳方式?
为了增加马克的回答(希望他不介意),如果你想了解更多关于依赖注入,Mark自己写了一本非常好的书,名为“.NET中的依赖注入”。 http://www.manning.com/seemann/ – Phill
@phill:请不要这样做。马克讨厌人们提到他的书时:-) – Steven
:(对不起,不会再这样做。 – Phill