一种应用软件的插件化实现方法及系统技术方案

技术编号:20448266 阅读:42 留言:0更新日期:2019-02-27 02:43
本发明专利技术提供了一种应用软件的插件化实现方法及系统,包括:生成应用软件的插件;当所述应用软件启动时,根据插件操作指示和所述插件的基本信息更新插件信息库;根据所述插件信息库的所述插件的基本信息加载对应的所述插件,得到运行的所述插件;将运行的所述插件与所述应用软件的菜单栏建立对应关系;从所述菜单栏接收用户对运行的所述插件的操作信息,并发送至对应的所述插件。本发明专利技术通过插件化实现方法,可以提高软件开发的效率和开发质量,降低发布成本。

A Plug-in Implementation Method and System for Application Software

The invention provides a plug-in implementation method and system of application software, including: generating plug-ins of application software; updating plug-in information base according to plug-in operation instructions and basic information of the plug-in when the application software is started; loading the corresponding plug-in according to the basic information of the plug-in information base to get the running plug-in; and running the plug-in. The plug-in described above establishes a corresponding relationship with the menu bar of the application software, receives the user's operation information of the running plug-in from the menu bar, and sends it to the corresponding plug-in. The plug-in implementation method of the invention can improve the efficiency and quality of software development and reduce the publishing cost.

【技术实现步骤摘要】
一种应用软件的插件化实现方法及系统
本专利技术涉及应用软件开发
,尤指一种应用软件的插件化实现方法及系统。
技术介绍
随着桌面应用软件在多个项目中应用,不同项目的需求也越来越多,应用软件的代码规模也越来越大,开发维护人员也随之增多。针对用户提出新的需求,需要软件开发人员在较短的时间内快速响应,发布新版本。软件发布也需要软件测试人员对新功能做测试,同时也需要对软件的全部功能做影响测试。每一次应用软件发布,都需要重新编译、链接代码、发布、测试,增加了工作量,降低了效率。现有实现方案是,软件整体所有代码都在一起,应用程序只有一个代码工程,所有软件开发人员、开发团队都在该工程中并行开发,代码依赖和耦合度高,多人、多团队开发,软件开发协作效率低。
技术实现思路
本专利技术的目的是提供一种应用软件的插件化实现方法及系统,通过采用插件化实现方法,解决现有软件开发过程中代码依赖和耦合度高、多人协作开发效率低,且版本发布测试工作量大的问题。本专利技术提供的技术方案如下:一种应用软件的插件化实现方法,包括:生成应用软件的插件;当所述应用软件启动时,根据插件操作指示和所述插件的基本信息更新插件信息库;根据所述插件信息库的所述插件的基本信息加载对应的所述插件,得到运行的所述插件;将运行的所述插件与所述应用软件的菜单栏建立对应关系;从所述菜单栏接收用户对运行的所述插件的操作信息,并发送至对应的所述插件。在上述技术方案中,将应用软件的一些业务功能插件化,由插件提供相应的业务功能,每次插件的更新不改变应用软件的主体程序,所引入的测试工作量主要集中在插件上,通过该方法解决了现有软件开发过程中的代码依赖和耦合度高、多人协作开发效率低,以及版本发布测试工作量大的问题。进一步优选的,所述生成应用软件的插件包括:集成插件应用程序接口,建立所述插件的代码工程;建立所述插件的基本信息,并内置于所述插件的实现体内;对所述插件的代码工程进行编译链接,生成所述插件。进一步优选的,所述插件的基本信息包括标识号、名称、版本号、依赖关系、安装位置。在上述技术方案中,每个插件有独立的代码工程,插件是通过标准的插件API接口与应用软件的主体程序进行交互,所以插件的更新对应用软件的主体程序影响很小,这有利于提高软件的开发效率和开发质量。进一步优选的,所述根据插件操作指示和所述插件的基本信息更新插件信息库包括:当所述插件操作指示为安装插件时,将未安装的所述插件的基本信息写入到所述插件信息库,并将所述插件存放到指定的所述插件的安装位置。在上述技术方案中,提供了一种插件安装方法,便于应用软件在运行过程中动态安装插件。进一步优选的,所述根据插件操作指示和所述插件的基本信息更新插件信息库还包括:当所述插件操作指示为卸载插件时,检查所述插件是否在运行;当所述插件正在运行时,通知所述插件停止运行;当所述插件不在运行时,从所述插件信息库中删除所述插件的基本信息,同时删除所述插件的安装位置的所述插件。在上述技术方案中,提供了一种插件卸载方法,便于应用软件在运行过程中动态卸载插件。进一步优选的,所述根据插件操作指示和所述插件的基本信息更新插件信息库还包括:当所述插件操作指示为升级插件时,检查所述插件是否在运行;当所述插件正在运行时,通知所述插件停止运行;当所述插件不在运行时,更新所述插件的安装位置的所述插件;当检查所述插件信息库的所述插件的版本号与所述插件的安装位置的所述插件自带的版本号不一致时,将所述插件的基本信息更新到所述插件信息库。在上述技术方案中,提供了一种插件升级方法,便于应用软件在运行过程中动态升级插件。进一步优选的,所述根据所述插件信息库的所述插件的基本信息加载对应的所述插件包括:根据所述插件信息库的所述插件的基本信息,得到所述插件的启动策略;根据所述插件的启动策略启动所述插件,并由所述插件完成所述插件需要的基本配置的初始化。进一步优选的,所述根据所述插件的启动策略启动所述插件包括:当所述插件的启动对其他插件有依赖关系时,根据所述插件的依赖关系,按照依赖顺序加载其他插件。在上述技术方案中,提供了一种插件加载方法,便于应用软件在运行过程中动态加载插件。本专利技术还提供一种应用软件的插件化实现系统,包括:插件生成模块,用于生成应用软件的插件;插件管理模块,用于当所述应用软件启动时,根据插件操作指示和所述插件的基本信息更新插件信息库;插件加载模块,用于根据所述插件信息库的所述插件的基本信息加载对应的所述插件,得到运行的所述插件;交互模块,用于将运行的所述插件与所述应用软件的菜单栏建立对应关系;以及,从所述菜单栏接收用户对运行的所述插件的操作信息,并发送至对应的所述插件。在上述技术方案中,将应用软件的一些业务功能插件化,由插件提供相应的业务功能,每次插件的更新不改变应用软件的主体程序,所引入的测试工作量主要集中在插件上,通过该方法解决了现有软件开发过程中的代码依赖和耦合度高、多人协作开发效率低,以及版本发布测试工作量大的问题。进一步优选的,所述插件生成模块,集成插件应用程序接口,建立所述插件的代码工程;以及,建立所述插件的基本信息,并内置于所述插件的实现体内;以及,对所述插件的代码工程进行编译链接,形成所述插件。在上述技术方案中,每个插件有独立的代码工程,插件是通过标准的插件API接口与应用软件的主体程序进行交互,所以插件的更新对应用软件的主体程序影响很小,这有利于提高软件的开发效率和开发质量。进一步优选的,所述插件管理模块包括:安装单元,用于当所述插件操作指示为安装插件时,将未安装的所述插件的基本信息写入到所述插件信息库,并将所述插件存放到指定的所述插件的安装位置。在上述技术方案中,提供了一种插件安装方法,便于应用软件在运行过程中动态安装插件。进一步优选的,所述插件管理模块还包括:卸载单元,用于当所述插件操作指示为卸载插件时,检查所述插件是否在运行;所述交互模块,用于当所述插件正在运行时,通知所述插件停止运行;所述卸载单元,进一步用于当所述插件不在运行时,从所述插件信息库中删除所述插件的基本信息,同时删除所述插件的安装位置的所述插件。在上述技术方案中,提供了一种插件卸载方法,便于应用软件在运行过程中动态卸载插件。进一步优选的,所述插件管理模块还包括:升级单元,用于当所述插件操作指示为升级插件时,检查所述插件是否在运行;所述交互模块,用于当所述插件正在运行时,通知所述插件停止运行;所述升级单元,进一步用于当所述插件不在运行时,更新所述插件的安装位置的所述插件;以及,当检查所述插件信息库的所述插件的版本号与所述插件的安装位置的所述插件自带的版本号不一致时,将所述插件的基本信息更新到所述插件信息库。在上述技术方案中,提供了一种插件升级方法,便于应用软件在运行过程中动态升级插件。进一步优选的,所述插件加载模块,用于根据所述插件信息库的所述插件的基本信息,得到所述插件的启动策略;以及,根据所述插件的启动策略启动所述插件,并由所述插件完成所述插件需要的基本配置的初始化。进一步优选的,所述插件加载模块,用于当所述插件的启动对其他插件有依赖关系时,根据所述插件的依赖关系,按照依赖顺序加载其他插件。在上述技术方案中,提供了一种插件加载方法,便于应用软件在运行过程中动态加载插件。通过本专利技术提供本文档来自技高网...

【技术保护点】
1.一种应用软件的插件化实现方法,其特征在于,包括:生成应用软件的插件;当所述应用软件启动时,根据插件操作指示和所述插件的基本信息更新插件信息库;根据所述插件信息库的所述插件的基本信息加载对应的所述插件,得到运行的所述插件;将运行的所述插件与所述应用软件的菜单栏建立对应关系;从所述菜单栏接收用户对运行的所述插件的操作信息,并发送至对应的所述插件。

【技术特征摘要】
1.一种应用软件的插件化实现方法,其特征在于,包括:生成应用软件的插件;当所述应用软件启动时,根据插件操作指示和所述插件的基本信息更新插件信息库;根据所述插件信息库的所述插件的基本信息加载对应的所述插件,得到运行的所述插件;将运行的所述插件与所述应用软件的菜单栏建立对应关系;从所述菜单栏接收用户对运行的所述插件的操作信息,并发送至对应的所述插件。2.根据权利要求1所述的应用软件的插件化实现方法,其特征在于,所述生成应用软件的插件包括:集成插件应用程序接口,建立所述插件的代码工程;建立所述插件的基本信息,并内置于所述插件的实现体内;对所述插件的代码工程进行编译链接,生成所述插件。3.根据权利要求2所述的应用软件的插件化实现方法,其特征在于:所述插件的基本信息包括标识号、名称、版本号、依赖关系、安装位置。4.根据权利要求1所述的应用软件的插件化实现方法,其特征在于,所述根据插件操作指示和所述插件的基本信息更新插件信息库包括:当所述插件操作指示为安装插件时,将未安装的所述插件的基本信息写入到所述插件信息库,并将所述插件存放到指定的所述插件的安装位置。5.根据权利要求1所述的应用软件的插件化实现方法,其特征在于,所述根据插件操作指示和所述插件的基本信息更新插件信息库还包括:当所述插件操作指示为卸载插件时,检查所述插件是否在运行;当所述插件正在运行时,通知所述插件停止运行;当所述插件不在运行时,从所述插件信息库中删除所述插件的基本信息,同时删除所述插件的安装位置的所述插件。6.根据权利要求1所述的应用软件的插件化实现方法,其特征在于,所述根据插件操作指示和所述插件的基本信息更新插件信息库还包括:当所述插件操作指示为升级插件时,检查所述插件是否在运行;当所述插件正在运行时,通知所述插件停止运行;当所述插件不在运行时,更新所述插件的安装位置的所述插件;当检查所述插件信息库的所述插件的版本号与所述插件的安装位置的所述插件自带的版本号不一致时,将所述插件的基本信息更新到所述插件信息库。7.根据权利要求1所述的应用软件的插件化实现方法,其特征在于,所述根据所述插件信息库的所述插件的基本信息加载对应的所述插件包括:根据所述插件信息库的所述插件的基本信息,得到所述插件的启动策略;根据所述插件的启动策略启动所述插件,并由所述插件完成所述插件需要的基本配置的初始化。8.根据权利要求7所述的应用软件的插件化实现方法,其特征在于,所述根据所述插件的启动策略启动所述插件包括:当所述插件的启动对其他插件有依赖关系时,根据所述插...

【专利技术属性】
技术研发人员:王海波李志保
申请(专利权)人:智器云南京信息科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1