插件是什么(病毒插件是什么)

Tips: 最近的开发任务中涉及到“插件”这个名词,那么插件是什么呢?我们为什么要学习它呢?它的优点是什么?让我们一步步来认识和了解它。

一、插件是什么?

插件是一种遵循一定规范的应用程序接口编写出来的程序,定位于开发实现应用软件平台不具备的功能的程序。它必须依赖于应用程序才能发挥自身功能,仅靠插件是无法正常运行的;相反,应用程序并不需要依赖插件就可以运行,这样一来,插件就可以加载到应用程序上并且动态更新而不会对应用造成任何改变。插件就像硬件插卡一样,可以被随时删除、插入和修改,所以结构很灵活,容易修改,方便软件的升级和维护。

软件开发中,很多语言和框架,都支持插件开发,典型的如Eclipse Plugins。本文以Qt开发框架为例进行说明。

Qt的插件开发至少分为两部分:主程序部分和插件程序部分。

主程序部分:定义插件的接口并提供插件的管理器用于管理插件的加载与使用;

插件程序部分:用于按照主程序中定义的插件接口来定义插件,最终实现插件的功能,并生成供主程序部分调用的插件;

二、插件与动态库的区别?

插件与动态库的区别在于两者都是用于封装部分功能的实现,并降低模块代码耦合度。最初插件也是被部署为动态库的形式,但是和传统的动态库还是有一些差别的:

插件主要面向接口编程,无需访问.lib文件,热插拔,利于团队开发。即使在程序运行时.dll不存在,也可以正常启动,只是相应插件功能无法正常使用而已;

动态库需要访问.lib文件,而且在程序运行时必须保证.lib存在,否则无法正常启动。

三、我们为什么要学习它?

想象一台 Windows 系统的电脑,包含了主机、显示屏、键盘鼠标等部件。假如我们拔掉键盘,电脑不会出错,只是缺失了键盘的功能,因此键盘就可以看做是一个插件。与此同时,一台完整的电脑不仅包含了键鼠,还有耳机、音响、光驱、显卡等部件,这些部件其实都可以看成插件。对 Windows 来说,这些“插件”都有一个管理者,即为设备管理器。设备管理器负责添加和删除电脑所有的硬件和驱动,因此可以将设备管理器理解为插件管理器。最后一点,电脑系统都有自己的内核,一个 Windows 系统从启动到关机都是内核在响应,而内核就可以看作加载插件的主程序,仿佛:“一旦你插上,我就能用你来打游戏”。

在我们的开发中,或多或少会用到不同功能,我们可以将这些功能作为插件,加载到主程序中,不需要的时候移除即可,大大提高了程序的扩展性。

上一篇: 平台交易黄金现货(现货黄金平台怎么样)
下一篇: 办信用卡截止日期小于(信用卡 截止日期)
《插件是什么(病毒插件是什么)》文档下载: PDF DOC TXT

猜你喜欢