详解.NET 4下的MEF架构

开发 后端
本文将给大家讲述的是.NET 4下的MEF架构,这个架构已经成为.NET中的第一公民,不过现在的发展还是存在一定的问题,希望能给大家帮助。

51CTO向您推荐《Visual Studio 2010应用与开发详解》专题,以便于您更好的理解本文。

在上篇WPF -.NET 4.0解决了DataGrid分组时的内存泄露中说过由于内存泄露问题,OpenExpressApp升级到.Net4平台,然后升级后之前的compositewpf出了点问题。在OpenExpressApp考虑动态扩展组件机制方面,以前就考虑过MEF,但当时还不成熟,所以使用了compositewpf,而现在MEF已经成为了.NET***公民,compositewpf又没有提供.NET 4的版本,也很久没有升级了,也不明确它的发展方向,并且现在软件中有些内存泄露问题也与它有关,所以干脆使用MEF作为插件机制。这里把这两个一起提出,主要是从动态扩充组件来说的,它们实际上不是一个东西,可以并存的,在这里就不多说这些了,下面我主要介绍一下MEF的架构,希望从总体上有所了解,更改OpenExpressApp后我会再写篇文章介绍一下如何在OpenExpressApp中使用MEF的。

主要示意图

各种Export提供者从目录提取part信息,然后由CompositionContainer进行装配,其中每个part都包含Import和Export两部分内容。

架构图

主要组成图

由容器、基础类库和属性编程模型组成,组成东西其实不多,要想扩充自己的东西必须熟悉这些东西。

我现在只是想用MEF替代Prsim实现插件扩充机制,由于时间紧张也不能深入研究,所以目前也就是使用过其中一些类,如:CompositionContainer、CompositionBatch、AssemblyCatalog、DirectoryCatalog和属性标记等,后面我会具体将从Prsim更改为MEF的。

容器

MEF

主要类图

主要类图

具体内容可以参考:

Hosting the .NET Composition Primitives.pdf

http://mef.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=62133

原文标题:.Net4下的MEF(Managed Extensibility Framework) 架构简介

链接:http://www.cnblogs.com/zhoujg/archive/2010/05/26/1740628.html

【编辑推荐】

  1. 使用ASP.NET 4的自动启动特性
  2. 详解.NET 4.0并行计算支持历史
  3. 详读.NET 4.0环境配置
  4. 详解.NET 4.0中异常处理方面的新特性
  5. 三方面诠释.NET 4.0的新特性
责任编辑:彭凡 来源: 博客园
相关推荐

2009-03-09 09:45:07

MVCAjax.Net

2009-10-26 15:55:43

URL Routing

2010-04-20 09:40:38

ADO.NET Ent

2009-11-10 09:13:47

Visual Stud

2024-10-08 10:11:57

2010-03-11 16:09:38

Visual StudSilverligh

2013-09-02 17:53:41

MVC架构设计MEF

2011-01-04 09:37:36

2012-05-16 09:59:30

OpenStack架构

2009-11-04 14:54:51

.NET类

2009-10-09 14:10:23

.NET数组

2011-04-15 13:12:09

.NETMEF

2014-12-29 10:25:34

MEFNFVSDN

2010-06-18 09:23:33

SortedSet.NET 4

2009-06-24 14:57:03

jBPM4架构

2010-08-23 09:49:53

.NET 4

2009-09-17 13:26:55

.NET方法签名

2009-08-26 15:25:06

.NET Framew

2009-03-09 17:30:42

.NET FramewXMLXmlReader

2009-03-31 09:18:34

客户端内置对象ASP.NET
点赞
收藏

51CTO技术栈公众号