试谈计算机软件中的插件技术

时间:2022-03-01 05:42:24

试谈计算机软件中的插件技术

摘要:基于面向组件的编程理念,很多软件工程师利用插件技术开发出的应用程序具有良好的伸缩性且维护方便等特点,使得软件的可扩展性得到明显的提高,生命周期有所延长,而且可以按照用户的需求特点进行功能的扩充。本文就针对软件中的插件技术展开讨论。

关键词:软件;插件技术

中图分类号:TP311.52 文献标识码:A文章编号:1007-9599 (2011) 11-0000-01

Talking about Plug-in Technology in Computer Software

Zhao Liang

(93 Liangyou Industry Group Co.,Ltd.,Harbin150090,China)

Abstract:Based on the concept of component-oriented programming,a lot of software engineers to use plug-in technology to develop applications with good scalability and easy maintenance,etc.,making the software's scalability has been significantly improved,the life cycle has been extended,according to the needs of users and can function characteristics of the expansion.In this paper,for software plug-in technology discussion.

Keywords:Software;Plug-in technology

一、插件的概述

(一)定义。所谓插件其实是一种很多专用程度或者通用程序所提供的接口方式,其作用可以帮助应用层用户对程序做二次开发,其设计与实现的过程贯穿了基于面向对象的理念。插件的主要目的就是提高软件的扩展性及重用性,以延长软件的生命周期。其本质属于扩展的应用工程,可以不用修改程序主体,就可以加强软件的功能。如果插件的接口被公开,则所有人都可以自己制作插件,一些操作方面的问题就可以被有效解决,还可以增加相应的功能。

(二)接口。所谓的接口其实是一套通信标准,其主要目的是实现宿主程序和插件间正确的互相通信,它的本质是软件模块的调用规范,也就是一些未能实现的函数定义或者集合。在开发应用程序的过程中,要支持插件功能则必须解决接口的问题。

二、插件的类型及功能

(一)插件的类型。1.与批命令类似的简单插件。其实这种插件的自由度很低,在运行这种插件的过程中,要求用户按照其提示步骤进行选择及输入,由于其一系列的操作都是预先定义好的,因此当用户输入结束后即可进行相应的操作。这种插件的形式通常是文本文件,可扩展性不大且功能性差,不过制作过程非常简单,应用方便。2.采用特殊脚本语言的插件。也可以称其为脚本插件,相对而言这种插件的开发过程就比较复杂,要求程序开发工程师自己可以制作一个程序对其内核进行解释。比如微软公司的宏即为该类型的插件。这种插件类型不用借助其它的工具,通过软件本身就可以制作、实现,因此在各种办公软件中的应用很广泛。3.利用现有程序环境制作的插件。诸如Photoshop等软件的使用方法就是这种类型的插件。软件中设置这种插件,等于在程序的主体中建立起多个接口,这些接口均可以自定义,于是插件可以自由的访问程序中各种资源。这种类型的插件最显著的优点就是其有较大的自由度,可以让软件设计人员的创意得到无限的发挥,其属于狭义概念上的插件,从这个意义上讲,这种插件才是真正的插件。

(二)插件的主要功能。具体来讲插件的主要功能主要包括以下几点:第一,主程序的部分菜单可以通过插件进行修改,主程序中有一项子菜单是为插件而设的,它可以对其进行任意的修改,可以为插件输入菜单句柄或者将菜单资源由插件中提取出来,即可获取菜单。第二,可以定制主程序的UI界面,插件可以利用主程序所提供的接口获取主窗口的句柄,然后在将自己所需的子窗口创建在上面,包括可以对子窗口进行响应的消息,从而定制主程序的UI界面。同样插件可以通过该接口进行相关的业务操作,以实现对主程序业务逻辑的定制。第三,插件可以在主程序进行注册或者反注册插件时做出对应的动作,比如弹出提示框或者相关的版本信息等等。不过插件无需提供自注册功能,由主程序来完成即可。第四,插件可以提供信息及参数,比如在其相关的接口中提供版本、版权以及其它的描述和诸如默认参数等插件的配置参数等。

三、插件的实现

实现插件的方案包括两种,即动态链接库以及组件对象模型,在系统开发过程中采用动态链接库方案的情况比较多见。

(一)动态链接库。该方案是一种可执行软件模式,其具备特定的功能,尽管其本身无法独立运行,但是能够通过它输出函数或者类,通过其它可以独立宿主程序将其内部功能调用出来。在Windows系统中,它也是实现软件组件重用的方法。在动态链接库中,只需花费少量的时间对插件相关的调用规则和编程规则加以熟悉,即可完成插件的集中实现。

(二)组件对象模型。组件对象模型的单元是组件,其可以让各软件组通过统一的方式进行交互。组件对象模型不仅提供了组件间交互的规范,而也提供了实现交互的环境。因为同类插件其调用接口通常都是统一的,所以组件对象模型技术也是插件开发的基础。

四、插件在数据库开发中的应用

因为在设计系统时就已经采用了插件技术,每项功能均独立设计,从而系统的开发就变得具有可控性及可视性。利用插件技术进行数据库系统的开发并非单纯的划分数据库的模块,而是把每项功能均划分为独立的设计体,所以在开发的过程中,每项功能的开发责任、功能的结构以及其它的输入、输出、处理方式及所需的数据等等均可以明确的确定。插件技术细化了数据库的模块划分,并将每个模块中各项功能之间的联系全部切断,使得制约因素进一步减少。从而开发进度就从模块级划分模式变成了以功能级划分模式,使得纵向式开发变成了横向式开发,增加了单位时间内的开发量。总之,插件作为一种特殊的组件技术,组件所有的优秀特性均可以在它的身上体现出来,这些优势使其在开发应用及推广等方面具有积极的现实意义。应用程序以插件技术为基础开发设计,可以提高产品的专业化、系统化以及标准化的程度。各种不同规格的插件进行组合,可以加快完成系统原型的速度,并且用户的需求及系统升级均可以通过修改局部插件来实现,不仅可以节约成本,避免浪费资源,而且提高了软件的重用性及扩展性,其寿命得以延长。目前,在各通用环境中均可以看到插件的应用。

参考文献:

[1]陈国栋.试谈计算机软件中的插件技术[J].软件开发与设计,2009,4

[2]刘兴平等.插件技术研究初探[J].延安大学学报(自然科学版)2010,2

[3]吴亮,杨凌云,尹艳斌.基于插件技术的GIS应用框架的研究与实现[J].地球科学,2006,5

上一篇:人民币升值压力原因分析与升值影响 下一篇:浅析基于特征提取的垃圾图像过滤算法的实现