计算机软件中的插件技术探讨.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机软件中的插件技术探讨

计算机软件中的插件技术探讨 摘 要:插件是一组程序模块,能够独立开发,因为可以动态地插入到所需要系统当中,并且允许用户自由替换或者地删除,因此称之为插件。插件技术显著优势就是可以降低软件设计的开发困难程度,提高软件的开发效率以及开发并行性,减少软件开发的时间,强化应用程序的可维护性、可测试性以及可运行性等。本文针对计算机软件中的插件技术进行了分析和探讨。 关键词:计算机软件 插件技术 应用 1 插件技术概述 对于多少具有电脑知识的人来讲, 电脑硬件设备的组成并不陌生, 它是由众多功能各异的插件板进行连接而成。根据插件板的设计要求和技术标准, 将功能各异的插件集成、组装、连接在电脑主板上,他们各自发挥着不同的作用, 但是有有序协调地工作在同一领域(即电脑主板),最终形成了功能完成的电脑硬件平台。人们首次启发, 由硬件插件技术联想到软件插件技术,并开始进行了深入探讨和研究。类似于硬件插件系统, 软件插件系统也由三部分构成:插件;接口、宿主程序(即总线)。插件利用预先设置好的接口来连接到宿主程序(即总线)上面。 具体而言: 第一,插件在本质上来讲就是普通程序, 由界面、函数以及数据构成,能够实现某种功能,目前插件接口均编制了统一规范,因此在进行系统运行之后,用户能够依照自己的需要来制作插件并利用接口集成到宿主程序(即总线)中去。 第二,接口负责插件的设置、初始化、启动、关闭以及数据的传递工作。 第三,宿主程序是一个总控程序,通常是一个线程,主要的功能就是负责插件与插件之间的通信以及相互操作。修改或淘汰某个插件时可以简单地将其卸载,而总控程序不用修改,如果总控程序正在运行、修改某个插件时,不用停止运行这个总控程序。通过这种技术,增强了系统的灵活性和可扩展性, 降低了系统维护费用, 延长了软件系统的生命周期。 2 插件原理分析 一个使用插件结构的软件, 是由一个可执行程序和许多完成子功能的插件组成,主要分为三个部分组成: 第一,宿主程序:Windows平台上一般表现为一个可执行的文件(一般为EXE文件) , 这个可执行文件负责启动整个系统,将插件系统所需的插件加载到自己的进程地址空间中, 插件系统所需要的插件是一些服务性的插件,常驻进程之中。宿主程序还必须对插件进行管理, 不同产品的服务性插件的设计都不完全相同, 但是对插件进行管理的功能是一定要实现的。 第二, 插件: 能够动态地插入到系统中,提供给插件系统相对简单的功能,但是多个插件能够使系统功能完善, 完成许多复杂功能的处理, 是插件系统的重要组成部分。在插件中必须提供给宿主程序调用的接口, 当宿主程序需要调用插件的时候能够找到这个接口,以完成与宿主程序的通讯与交互, 并且使得宿主程序能够得到插件的相关信息。 第三,接口:宿主程序和插件能够互相结合在一起工作, 必须有一套互相协作的规则和协议来使不同来源的程序互相协调工作, 完成这些规则和协议的部分称为插件系统的接口阴。这是一个逻辑上的接口,由宿主程序和插件各完成一部分, 它们共同完成插件的插入、调用、停止以及宿主程序与插件以及插件与插件之间的交互,是插件系统中的重要组成部分。 3 插件分类探讨 目前应用比较普遍的插件, 大致上可分为以下几类: 第一,批处理式网。类似于批命令的简单插件,它一般是文本文件,这种插件的缺点是功能比较单一、可扩展性极小和自由度非常低。 第二,脚本式。使用某种语言把插件的程序逻辑写成脚本代码。而这种语言可以是Python,或是其他现存的己经经过用户长时间考验的脚本语言。甚至,你可以自行设计一种脚本语言来配合你程序的特殊需要。当然,用当今最流行的XML是再合适不过了。这种形式的特点在于,稍有点编程知识的用户就可以自行修改你的脚本。这种情况所造成的后果是不可预知的。 第三,动态函数库DLL。插件功能以动态库函数的形式存在。主程序通过某种渠道(插件编写者或某些工具)获得插件DLL中的函数名,然后在合适的地方调用它们。容易造成“DLL HELL”。 第四, 聚合式。顾名思义, 就是把插件功能直接写成EXE。主程序除了完成自己的职责外,还负责调度这些“插件”。我不喜欢这种形式。这使插件与插件之间,主程序与插件之间(主要是这一点)的信息交流困难了许多。巴比伦塔的失败从某种程度上讲就是信息交流无法实现造成的。 第五,COM组件。COM的产生给这个世界增添了几分活力。我们的插件需要做的只是实现程序定义的接口。主程序不需要知道插件怎样实现预定的功能四, 它只需要通过接口访问插件, 并提供主程序相关对象的接口。这样一来,主程序与各插件之间的信息交流就变得异常简单。并且,插件对于主程序来说是完全透明的。 4 插件技术的特点分析 插件技术的特点主要有:第一,结构清晰、易于理解。由于借鉴了硬件总线的结构,而且各个插件之间是相

文档评论(0)

didala + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档