[发明专利]一种组插件式软件架构系统及其实现方法在审
| 申请号: | 201910992341.4 | 申请日: | 2019-10-17 |
| 公开(公告)号: | CN110704035A | 公开(公告)日: | 2020-01-17 |
| 发明(设计)人: | 姚志江 | 申请(专利权)人: | 北京首贝科技发展有限公司 |
| 主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F9/445 |
| 代理公司: | 50219 重庆百润洪知识产权代理有限公司 | 代理人: | 姚琼斯 |
| 地址: | 102206 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 插件 子类 基类 模块表 模块管理单元 公用的 用户提供定制 插件接口 管理模块 架构系统 模块组合 软件架构 设置模块 业务接口 业务逻辑 子类集合 插件式 加载 合并 管理 | ||
1.一种组插件式软件架构系统,其特征在于,包括插件基类、插件子类、模块基类、模块子类、模块表、插件表、和模块管理单元程序;所述插件基类用于提供公用的插件接口,所述模块基类用于实现具体的业务逻辑和提供公用的业务接口,所述模块子类用于实现具体的功能,所述插件子类为多个功能相似或相关的模块子类集合形成的组插件,所述模块管理单元程序根据模块表和插件表加载所有组插件。
2.根据权利要求1所述的组插件式软件架构系统,其特征在于,所述模块表中包含有模块名称、模块的类名、模块初始化参数的json字符串、和模块所在的插件名。
3.根据权利要求1所述的组插件式软件架构系统,其特征在于,所述插件表中包含有插件名称和插件库文件。
4.根据权利要求1所述的组插件式软件架构系统,其特征在于,所述插件基类定义有一个抽象的公用接口函数ModeBase*createMode(string modeClass,hash<string,string>parameter),所述接口函数的参数为模块类名和创建模块时需要用到的参数,返回结果为一个模块子类实例对象的指针。
5.根据权利要求4所述的组插件式软件架构系统,其特征在于,所述公用接口函数ModeBase*createMode的具体实现如下:
6.根据权利要求1所述的组插件式软件架构系统,其特征在于,所述模块基类定义有构建函数,所述构建函数定义有一个将初始化参数传入的哈希结构参数ModeBase(hash<string,string>parameter)。
7.权利要求1所述的组插件式软件架构系统的实现方法,其特征在于,包括如下步骤:将多个功能相近或相关的模块子类合并到一个插件子类中形成一个组插件;往模块表和插件表中录入模块信息;模块管理单元程序根据模块表和插件表加载组插件。
8.权利要求7所述的组插件式软件架构系统的实现方法,其特征在于,所述模块管理单元程序根据模块表和插件表加载组插件的具体方法如下:模块管理单元程序从模块表中获取所有数据,并根据模块所在的插件名从本地特定路径中查找该名称的插件是否存在,如存在,则根据插件名从插件表中的插件库文件中下载插件库,然后加载此插件库,将模块初始化参数的json字符串转为哈希初始化参数,调用插件的公用接口函数ModeBase*createMode,并将模块的类名以及转化后的哈希初始化参数作为函数参数传入,公用接口函数ModeBase*createMode根据模块的类名以及哈希初始化参数创建一个该类的实例对象,并将该对象的指针转为ModeBase类型的指针返回,然后将模块名称、ModeBase类型的指针存入到模块管理单元程序的表容器中,当下次需要创建模块时,模块管理单元程序先检查表容器中是否已经存在此模块名称,若存在,则不再新建模块,程序需要操作某一模块时,通过模块名称在模块的表容器找到此模块的指针,调用模块的公用接口即可。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京首贝科技发展有限公司,未经北京首贝科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910992341.4/1.html,转载请声明来源钻瓜专利网。





