三年前,听当时的师兄推荐,买了蒋波涛的一本关于GIS插件框架的书。当时一边看书一边将其中的例子完整的实现了一遍,收益匪浅。后来由于项目需要,也做过一个插件的C/S系统,用的是微软提供的MEF框架。在这个系统中,把蒋波涛在他的书中没有涉及到的插件和插件的通信完成了。不过,蒋波涛的那本书,涉及到了插件系统的很多底层内容,其中关于插件引擎的设计尤其值得学习。近来,我将自己当年实现的那个例子进行了一个总结,和大家一起分享。
1.插件式框架的组成
(1).框架分为宿主程序和插件对象两部分
(2).两部分交互基于一种公共的通信契约
(3).宿主程序可以独立存在
2.使用插件的原因
(1).可以在无需对程序进行重新编译和发布的条件下扩展程序的功能
(2).可以在不需要程序源代码的环境下为程序增加新的功能
(3).在一个程序的业务逻辑不断发生改变、新的规则频频加入时能够灵活适应
3.插件的一般实现技术
(1).基于动态链接库DLL的插件
(2).基于COM的插件
(3).基于反射技术的插件
时间: 2024-10-02 11:39:40