MAF架构与MEF架构研究

1.MAF架构

  1)  优点

    a)      可靠。使用单独应用域进行隔离,加载卸载均在各自独立域内进行。

    b)      多版本支持。修改接口即可,向后支持。

    c)      支持第三方插件。

  2)  缺点

    a)         复杂。6层协议。

    b)         加载耗时。需要进行管线构建,序列化和反序列化的转换。

2. MEF 架构

  1)  优点

    a)      灵活,根据需要组合部件。

    b)      反应速度快,Import/Export模式。

    c)      简单,Import/Export/Interface规定属性即可实现代码。

  2)  缺点

    a)         不能向后支持。

    b)        需要定义Typeof(interface)属性。

    c)        格式固定。

  3)  未知

    a)         插件与宿主通信。

    b)         安全性,据说可以自动对资源的释放,但有些文章仍描述其会导致内存泄漏,需要考虑。

3. 思路。

  1)    从目前来看MAF加载WPF窗口资源速度过慢,尤其当WPF窗口资源控件非常多时,通过反射查找实例化后序列反序列会加重整个MAF系统架构的负担,将会导致软件加载减速。

  2)    MEF通过Import/Export/Interface可以很好的解决这个问题,加载速度与正常启动模式基本一致。

  3)    对于目前窗口显示在于速度,而底层数据在于安全保障,所以MEF架构将运用于WPF窗口加载,MAF架构用于底层数据安全保障。

原文地址:https://www.cnblogs.com/yiyi20120822/p/2740619.html