文档介绍:第卷第期软件导刊
8 % 7
2009年 7月 Software Guide Jul. 2009
组件的插件平台技术研究
祁胜军
(中国地质大学(武汉)信息工程学院,湖北武汉 430074)
摘要: 组件的插件平台技术可以实现软件的重用性和可扩展性,不需要集成各源代码或链接库进行编
译与链接就可以对软件进行更新和升级,实现“即插即用”。这种方法降低了软件模块的耦合度、提高了开发效率、减
小了开发成本。
组件;插件平台;扩展性;接口
中图分类号: 文献标识码:A 文章编号:1672-7800(2009)07-0035-02
时候必须能够知道插件的存储位置然后才能够正确地加载
, 。
插件平台基本原理通常可以通过以下种方式得到插件的信息通过将插件的
1 3 :①
位置写成一个配置文件如文件或者文件宿主程序
插件的本质是在不修改程序主体的情况下对软件功能进, ini XML ,
在启动的时候通过读取配置文件来得到插件的存储位置将
行加强当插件的接口被公开时任何人都可以自己制作插件来;②
应用程序的所有插件放在一个特定的目录下然后让宿主程序
解决一些操作上的不便或增加一些功能一个插件框架包括两,
启动的时候去搜索这个特定的目录可以将所有插件的存储
个部分主程序和插件主程序即是包含插件;③
: (host) (plug-in) “”位置信息保存在注册表的某一个特定的路径中宿主程序启动
的程序插件必须实现若干标准接口由主程序在与插件通信时,
。的时候遍历这个特定的路径下的所有项的值
调用。
。宿主程序根据位置信息加载插件宿主程序根据步骤
插件主要有种实现方式普通的输出函数的方式(3) :
3 : DLL 、中得到的插件存储位置信息动态加载插件
(2) 。
使用++的多态性使用组件在很多大型的软件中如
C 、 COM 。( 判断该插件是否能够被宿主程序正确地识别调用被
中都是采用组件本文主要研究实(4) 。
ArcGis、Office) COM , COM 加载的插件的导出函数这个导出函数是插件的一个接口通
现方式, ,
。过这个接口来判断和识别该插件是否是这个应用系统的插件
组件对象模型适合构建。
COM (Component Object Model ) 得到插件的名称图标及其他重要信息通过接口得到
大型系统的插件平台基于建立的插件系统主程序和各(5) 、。
。 COM , 插件的相关资源和其他的信息这些资源主要用来构造系统的
。
个插件可以用不同的编程语言进行开发++ 等
(C 、VB、Java ), 界面显示
能使它们无缝地结合在一起。
COM 。为了用户在点击某个图标后可以正确的调用到对应的
在这样的一个系统中插件是一个组件确切地说(6)
, COM 。, 插件在宿主程序中将插件的名称等资源与插件的位置做好映
插件程序作为组件程序包含了一个或多个对象这,
, 射
些对象都实现了相同的接口主程序通过这个。
, 做这个映射的主要目的是因为在宿主程序的界面中看到
接口来访问对象即接口是主程序与插件通
, COM 的图标等资源是由各个插