代码改变世界

MEF 和 MAF

2013-03-15 18:30  leo.wl2020  阅读(793)  评论(1编辑  收藏  举报

今天在MSDN上看了一下微软这俩个可扩展框架,微软技术高手真很有才!

MEF 和 MAF区别:
早期的 .NET Framework 版本引入了 Managed Add-in Framework (MAF),旨在使应用程序能够隔离和管理扩展。 MAF 的重点放在比 MEF 稍高的级别,它集中于扩展隔离以及程序集的加载和卸载,而 MEF 则集中于可发现性、扩展性和可移植性。 这两个框架可以顺利地进行互操作,并且单个应用程序可以同时利用这两个框架。

1.Managed Extensibility Framework (MEF) 

什么是 MEF?
Managed Extensibility Framework 或 MEF 是一个用于创建可扩展的轻型应用程序的库。 应用程序开发人员可利用该库发现并使用扩展,而无需进行配置。 扩展开发人员还可以利用该库轻松地封装代码,避免生成脆弱的硬依赖项。 通过 MEF,不仅可以在应用程序内重用扩展,还可以在应用程序之间重用扩展。

msdn url:http://msdn.microsoft.com/zh-cn/library/dd460648.aspx

MEF_Diagram

 

MEF_Class

2.Managed Add-in Framework (MAF)

MAF是一个复杂的框架,并且即使是对于简单的应用程序,设置插件管道也很繁琐。

这是在System.AddIn命名空间,NET 3.5中引入。

这个框架插件可以配置为运行在他们自己的应用程序域,它最大的特点就是它可以防止您的应用程序崩溃的第三方插件。

MAF1

MAF2

MAF3

插件开发预览:msdn url:http://msdn.microsoft.com/zh-cn/library/bb384200.aspx#addin_model

参考资料

http://msdn.microsoft.com/zh-cn/library/bb384200.aspx#addin_model

http://www.cnblogs.com/lc329857895/archive/2009/07/22/1528640.html 博客园相关文章

msdn blog 官方 http://blogs.msdn.com/b/clraddins/

http://tech.ddvip.com/2008-10/122499543784074.html

管线开发:http://msdn.microsoft.com/zh-cn/library/bb384201.aspx

MEF开发指南:http://www.cnblogs.com/beniao/archive/2010/08/11/1797537.html

http://blog.endjin.com/2010/10/component-discovery-and-composition-part-1b-fundamentals-mef/ discovery

MAF与MEF之间选择

http://www.cnblogs.com/niceWk/archive/2010/07/23/1783394.html