【转】 MEF 和 MAF】的更多相关文章

今天在MSDN上看了一下微软这俩个可扩展框架,微软技术高手真很有才! MEF 和 MAF区别: 早期的 .NET Framework 版本引入了 Managed Add-in Framework (MAF),旨在使应用程序能够隔离和管理扩展. MAF 的重点放在比 MEF 稍高的级别,它集中于扩展隔离以及程序集的加载和卸载,而 MEF 则集中于可发现性.扩展性和可移植性. 这两个框架可以顺利地进行互操作,并且单个应用程序可以同时利用这两个框架. 1.Managed Extensibility F…
.Net插件编程模型:MEF和MAF MEF和MAF都是C#下的插件编程框架,我们通过它们只需简单的配置下源代码就能轻松的实现插件编程概念,设计出可扩展的程序.这真是件美妙的事情! 今天抽了一点时间,看了看MEF的例子,比较简单,有时间会整理一个简单的例子出来.简单的说,MEF使用了两个标注实现依赖注入. [Export]可以指定输出的类或者属性[Import]可以指定引入 通过Export,可以很轻松地将类或者属性输出到依赖注入的容器,再通过Export引入,对象的创建和组装,完全可以通过容器…
背景   Team希望开发一个插件的平台去让某搜索引擎变得更好.主要用于采集一些不满意信息(DSAT)给Dev.这些信息会由不同的team提供不同的 tool分析.有的提供仅仅是一个website,有的提供了api.有的提供了service.所以我们设想做一个插件的平台.让那些team提供一些 dll.我们只需要把这些dll放在我们的platform里. 由于对插件开发一无所知.所以重头开始做调研. 为什么需要插件框架-扩展性问题 假设您的应用程序必须包含大量可能需要的较小组件,并负责创建和运行…
在刚学习MEF时,经常会问一个问题,那就是MEF和MAF这样的插件框架.和Unity这样的IoC框架到底有什么区别.MEF与MAF(Managed Addin Framework)最大不同在于:前者关注使用非常简单的方式来支持具有很强灵活性的可扩展支持,后者关注具有物理隔离.安全.多版本支持的插件平台架构:MEF和Unity不同在于:前者强调组合,后者强调依赖注入.…
前面一个博客:也来学学插件式开发中很多朋友留言说可以用MEF来实现.于是我就试着用MEF实现了一下. 步骤和上一篇差不多,只是加载插件的方式有所不同.这只是一个自己的示例程序,肯定有很多不足之处,欢迎拍砖. MEF如何工作? MEF主要是通过Import与Export特性来定义导入与导出部件.程序在运行的时候会将具有相同接口的导出的实例化,赋给导入. MEF程序设计指南一:在应用程序中宿主MEF这篇文章有一个简单的MEF例子,大家可以参考一下. 所以,在这里,插件就是导出,我们在程序中要定义具有…
摘要:.NET 是 Microsoft XML Web services 平台.MEF是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的.下面让我们一起来看. MEF(Managed Extensibility Framework)是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的.MEF的目标是简化创建可扩展的应…
什么是 MEF? Managed Extensibility Framework 即 MEF 是用于创建轻量.可扩展应用程序的库. 它让应用程序开发人员得以发现和使用扩展且无需配置. 它还让扩展开发人员得以轻松地封装代码并避免脆弱的紧密依赖性. MEF 让扩展不仅可在应用程序内重复使用,还可以跨程序重复使用. MEF 和 MAF .NET Framework 的早期版本引入了 Managed Add-in Framework (MAF),旨在让应用程序隔离和托管扩展. MAF 与 MEF 相比,…
转自: http://developer.51cto.com/art/201104/255455_all.htm .NET 是 Microsoft XML Web services 平台.MEF是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的.下面让我们一起来看. MEF(Managed Extensibility Framework)是.NET Framework 4.0一个重要的库,Visual S…
MEF(Managed Extensibility Framework)是.NET Framework 4.0一个重要的库,Visual Studio 2010 Code Editor的扩展支持也是基于MEF构建的.MEF的目标是简化创建可扩展的应用程序,其核心类是ComposablePart,即具有组合能力的组 件,每一个称为ComposablePart(中文可为可组合构件,不过下文一直采用英文来表示,这样比较贴切)的组件可以组合(称为Import)其它 组件的功能(其它组件通过声明Expor…
概述 这篇文章的目的是简要分析对比MAF和MEF,并详细举出MEF设计中的细节和扩展上的细节,达到让读者能实际操作的目的.其中,MAF的设计会附上我的代码,其实就是官方的代码我自己手动联系了一遍,但还是很有收获的,不动手光看是不会体会到细节的:MEF是我着重介绍的,当然也是微软推荐的解决方案,所以这部分内容会多一些. 至于为什么要用MEF(插件框架)读者可针对自己的项目分析是否有必要使用. 文章中难免有不足和错误,还请大家不吝指出,互相交流. MAF和MEF MAF是微软集成在Framework…