栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

插件式框架与MEF

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

插件式框架与MEF

一、插件式架构设计意义
        为什么采用插件式架构设计?业务上要求在应用程序部署完后,在不需要重新编译、安装应用程序的情况下,仍然可以对应用程序的功能进行扩展;为方便源码管理、项目管理、团队协作以及协同开发需求,将业务逻辑关系分成独立的模块;架构设计需求,将模块解耦,分而治之。

【集成部署】

【插件式部署】

**插件式架构设计的核心是:业务模块动态加载,而非静态引用。**

二、MEF插件式框架介绍
1、介绍
        MEF(Managed Extensibility Framework)是微软为大型应用程序(比如Visual Studio)提供的一个功能扩展框架,通过一个混合层提升了灵活性、维护性和可测试性。MEF既可以用于第三方插件支持扩展功能,也能为常见的应用程序带来松耦合插件架构的好处。MEF现在已作为基础库,随.NET Framework中一起发布,命名空间System.ComponentModel.Composition;
2、版本说明

  • .NET Framework 版MEF

随.NET 4.0和Silverlight 4发布的内置MEF,称之为MEF1.0;命名空间:System.ComponentModel.Composition;这个版本提供了标准的扩展模型;Visual Studio 2010 中使用的是该版本;随.NET 4.5 发布了MEF2,该版本与.NET 4.0 中的MEF接口兼容,称之为MEF2.0;相比MEF1.0,MEF2.0更好用;这两个版本统称MEF
源码地址:https://github.com/MicrosoftArchive/mef
相关文档:
1)https://docs.microsoft.com/en-us/dotnet/framework/mef/
2)https://docs.microsoft.com/en-us/dotnet/framework/mef/attributed-programming-model-overview-mef

  • Nuget版MEF

        通过Nuget发布的轻量级版本,是由.NET Framework 中 MEF2 移植;命名空间System.Compostion,这是一个可移植版本,针对静态混合进行了优化,提供更快的混合,可以用于手机、商店应用、桌面和WEB应用之中。

  • .NET Core版本

由.NET Framework 中 MEF2 移植;
源码地址:https://github.com/dotnet/corefx/tree/master/src
.NET Core 中使用MEF:
http://weblogs.asp.net/ricardoperes/using-mef-in-net-core

  • VS-MEF

        Visual Studio 开发团队觉得 .NET Framework 里的 MEF2 性能太差,NuGet 版的 MEF2 功能太少,于是自己又写了一个,微软称之为 VS-MEF;从Visual Studio 2013开始就一直使用该版本
源码地址:https://github.com/microsoft/vs-mef.git

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/955517.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号