MEF是依赖注入框架吗?

时间:2008-11-15 21:06:41

标签: .net unity-container mef

最近宣布的.NET 4.0托管可扩展性框架(MEF) - 它是一个依赖注入框架吗?模式和实践中的Microsoft Unity在4.0中是否会过时? MEF与Unity这样的框架相比如何?

4 个答案:

答案 0 :(得分:27)

在Scott Guthrie的PDC 2008第二届主题演讲中特别提到,MEF与扩展Visual Studio 2008和其他应用程序等事情有很多关系,而不必使用所有COM和旧技术...一个非常好的演示其中包括扩展VS2008中的文本版本。在第二天主题演讲(http://www.microsoftpdc.com)开始大约一小时15分钟,您将获得直接信息,但基本上如果您要“构建一个内置可扩展点的应用程序,可以轻松发现,并且它支持发现扩展,“那么MEF就是你想要的。 UNITY是您想要的高质量IoC容器,它既可以用于DI,也可以用于其他解决方案,但可以很好地与企业库集成。

关于EL4.0中的Unity(现在4.1 - http://msdn.microsoft.com/en-us/library/dd203099.aspx),它实际上是一个位于版本2 ObjectBuilder之上的IoC,EL4.1具有可扩展点,用于统一各种EL应用程序的配置Unity的块。

MEF与Unity相似就是将苹果与橙子进行比较。我们强烈推荐一些完整描述UNITY的精彩播客/网络广播,我强烈推荐:

DotNetRocks Show#393 http://www.dotnetrocks.com/default.aspx?showNum=393 DNR.tv显示#126 http://www.dnrtv.com/default.aspx?showNum=126

答案 1 :(得分:1)

我看到一篇文章让它听起来像一个但更多的信息(Scott Guthrie at PDC2008 [Video / wmv])让我觉得它不仅仅是一个依赖注入框架。 从sounds of things它可以用于依赖注入,但也可以做更多。

答案 2 :(得分:1)

Here's a conversation关于MEF / MAF / Unity / Prism我觉得很有启发性。

答案 3 :(得分:0)

我想添加一条mopre系列,我刚刚读到 MEF不是Inversion of Control的一部分(因为dependecny被认为是IOC的同义词)但它实现了它。 当我们通过依赖注入实现IOC时,我们通常使用Unity,它有助于发现静态依赖关系,但MEF允许我们增加应用程序的可扩展性,而无需静态配置组件,即使它们可以在运行时被发现。 还有其他链接可以帮助您更多: Difference between Unity and MEF