下面主要介绍一下MEF的架构,希望从总体上有所了解,更改OpenExpressApp后我会再写篇文章介绍一下如何在OpenExpressApp中使用MEF的。
主要示意图
各种Export提供者从目录提取part信息,然后由CompositionContainer进行装配,其中每个part都包含Import和Export两部分内容。
主要组成图
由容器、基础类库和属性编程模型组成,组成东西其实不多,要想扩充自己的东西必须熟悉这些东西。
我现在只是想用MEF替代Prsim实现插件扩充机制,由于时间紧张也不能深入研究,所以目前也就是使用过其中一些类,如:CompositionContainer、CompositionBatch、AssemblyCatalog、DirectoryCatalog和属性标记等,后面我会具体将从Prsim更改为MEF的。
主要类图
具体内容可以参考:
Hosting the .NET Composition Primitives.pdf
其它
参考blog:
A Crash Course on the MEF Primitives
MEF: Dependencies are Queries?
Hosting the .NET Composition Primitives.pdf
在 .NET 4 中使用托管可扩展性框架构建可组合的应用程序
MSDN-Managed Extensibility Framework Overview
项目网站: