.net的控制反转
我很少听到有人在.Net中使用Inversion of Control(Ioc)原理。 我有一些与Java一起工作的朋友,他们在Spring和PicoContainer中使用了更多的Ioc。
我理解从你的代码中去除依赖的原则......但是我怀疑它好多了。
为什么.Net程序员不使用(或少用)这些类型的框架? 如果你这样做,你是否真的从长远的角度看到了积极的影响?
许多人在.NET中使用IOC,并且有几个框架可用于协助使用IoC。 你可能在WinForms方面看不到它,因为当你在Visual Studio中设计表单时,让容器连接所有的东西比较困难,但我可以说,对于服务器端的.NET应用程序,至少在我的工作环境中,IoC被非常成功地使用。
为什么在.NET中使用它? 出于同样的原因,你在其他地方使用它。 我最喜欢的两件事是:
其他一些文章讨论了.NET可用的不同IoC / DI框架:
我使用StructureMap进行依赖注入,并且最近才开始在iBATIS.NET中使用它来在运行时注入我们的域对象映射器(而不是通过XML配置文件,谢谢!)。
我已经看到了直接的好处。 为我们所有的映射器(例如IPersonMapper
)创建接口,然后添加Moq使我可以快速轻松地编写一些非常棒的数据库免费单元测试。
以前(.NET 1.0)我主要编写自己的插件系统来学习反射。 从那时起,我在我的项目中实施了某种IoC。 它最近才开始使用IoC进行单元测试,所以写起来不那么痛苦。 在这一点上,我无法想象以任何其他方式进行。
到目前为止,IoC在.Net中并不常见。 它与微软有关,并且有推广活动。 直到现在,他们更加强调VS的RAD功能,同时忘了推广IoC和Di之类的东西,但是现在他们有了自己的框架Unity以及他们在ASP.Net MVC上所做的工作。
所以我想大多数人会开始使用类似的东西。 因为知道他们有一个MS替代使用。
我使用StructureMap。
链接地址: http://www.djcxy.com/p/82123.html上一篇: Inversion of Control with .net
下一篇: Why would you want Dependency Injection without configuration?