什么是托管可扩展性框架(MEF)?

时间:2010-02-18 04:23:17

标签: definition mef

我用Google搜索并且只收到了一些关于MEF的文章。有人请简要解释一下:

  • 什么是管理扩展性框架?
  • 出于什么目的需要?
  • 我该如何开始使用它?

任何一步一步的指导都会有所帮助,谢谢!

1 个答案:

答案 0 :(得分:7)

MEF允许您设计可扩展的系统。

根据我的经验,您可以设计接口,创建具有这些接口实现的库,并在运行时动态加载它们。您还可以确定应该如何加载这些扩展 - 在同一个应用程序域中,还是新的扩展您可以将它指向一个目录并告诉它获取某个接口的所有实现,并加载那些在您的应用程序中使用的实现。

因此,因为您的应用程序不需要预先知道它的所有功能并且可以动态加载它们,您可以说它是“可扩展的”..

或者,在.NET中还有MAF,Managed Add-in Framework或System.AddIn命名空间。这有一些重叠,但更多的是针对加载项或插件模型。它具有管理版本控制和处理主机和加载项之间向后兼容性的功能,每个加载项具有不同版本的接口。

要开始使用MEF,我认为最好的地方可能在这里:http://www.codeplex.com/MEF
有很多关于入门,文档,甚至是论坛的信息......