.Net4下的MEF(Managed Extensibility Framework) 架构简介
在上篇WPF -.Net 4.0解决了DataGrid分组时的内存泄露中说过由于内存泄露问题,OpenExpressApp升级到.Net4平台,然后升级后之前的compositewpf出了点问题。在OpenExpressApp考虑动态扩展组件机制方面,以前就考虑过MEF,但当时还不成熟,所以使用了compositewpf,而现在MEF已经成为了.Net第一公民,compositewpf又没有提供.Net4的版本,也很久没有升级了,也不明确它的发展方向,并且现在软件中有些内存泄露问题也与它有关,所以干脆使用MEF作为插件机制。这里把这两个一起提出,主要是从动态扩充组件来说的,它们实际上不是一个东西,可以并存的,在这里就不多说这些了,下面我主要介绍一下MEF的架构,希望从总体上有所了解,更改OpenExpressApp后我会再写篇文章介绍一下如何在OpenExpressApp中使用MEF的。 主要示意图 各种Export提供者从目录提取part信息,然后由CompositionContainer进行装配,其中每个part都包含Import和Export两部分内容。 主要组成图 由容器、基础...




