用于.Net应用程序的IoC和DI框架
问题描述:
您能否解释以下三种不同的意图?泛型和C#用于.Net应用程序的IoC和DI框架
1)策略注入应用程序块
2)构造图的IoC
3)托管扩展框架
在他们共同的任务,这是更简单的术语/对齐3.0?
由于
Lijo
答
的三个库框架具有不同的凹口,但彼此的功能重叠的一部分。
- 策略注入应用程序块:这基本上是一个将横切关注点集成到应用程序中的框架。例如要实现方法的日志记录而不触及原始类。所以它提供了面向方面的编程功能。
- 结构图IoC:结构图是Dependency Incection/Inversion of Control container。这里的主要目标是以干净的方式构建和连接物体。这应该导致代码更容易测试和理解。
- MEF's是一个扩展系统。它的主要目标是提供一个插件机制,许多组件和插件可以注册和发现对方。 (比如visual-studio插件)。
每个图书馆都有不同的重点。但是这些库的一部分通常会重叠。例如。
- 许多依赖注入框架提供了一些面向方面的编程功能,如策略注入应用程序块。但这不是重点,因此也没有那么强大。
- MEF使用与大多数IoC容器非常相似的原则(如结构图)。实际上它也是一个IoC容器。但重点是将组件连接在一起。
例如:
- 希望实现横切关注点,如日志,安全性等使用策略注入应用程序块
- 你想构建应用程序很好,所以它的可测试并更容易理解?像StructureMap这样的IoC容器可以帮助您为您的应用程序构建一个插件模型
- 您想要为您的应用程序构建插件模型吗?以MEF为例。
当然,你可以混合使用这些技术。
+0
这是一个很好的回答:) – 2011-07-27 00:28:07
好问题!我想在这里看到IoC容器的其他主要参与者:http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx – bitbonk 2010-06-02 06:51:12
谢谢..任何答案? – Lijo 2010-06-02 16:45:14