[发明专利]面向对象的插件数据处理方法在审
申请号: | 201811338506.8 | 申请日: | 2018-11-12 |
公开(公告)号: | CN109542536A | 公开(公告)日: | 2019-03-29 |
发明(设计)人: | 喻宜;吕志来;刘浩;张志学;张东;王云鹏 | 申请(专利权)人: | 北京许继电气有限公司;国家电网有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京立成智业专利代理事务所(普通合伙) 11310 | 代理人: | 张江涵 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 接口处理类 基类 插件接口 插件功能 面向对象 数据处理 虚函数 插件 指针 功能接口 接口文档 私有数据 和函数 可扩展 调用 继承 删除 返回 | ||
本发明实施例公开了一种面向对象的插件数据处理方法,包括:建立插件接口基类,并将该插件接口基类的插件功能接口设定为可扩展继承的虚函数,并生成接口文档;通过实现接口处理类来继承插件接口基类中的虚函数,且该接口处理类具有可定义的私有数据和函数以实现功能接口;其中所述插件功能接口包括打开接口和关闭接口,所述打开接口用于生成一个接口处理类实例并返回接口基类的指针,以通过接口基类指针来调用相应的接口处理类实例功能;且所述关闭接口用于关闭和删除相应的接口处理类实例。
技术领域
本发明涉及数据处理技术领域,特别是一种面向对象的插件数据处理方法。
背景技术
C++语言擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因此被广泛应用。为实现系统功能动态扩展,通常采用基于动态链接库的插件处理技术。传统的插件处理是采用动态链接库直接函数映射方式,首先装载动态链接库文件,然后映射已定义的插件功能接口到函数,最后通过此函数来动态调用相应接口功能。但是在实际使用中发现,这种方式使得插件库实现和使用缺乏整体性,插件容易导致系统异常,并且无法实现带有私有数据的复杂逻辑功能插件。
发明内容
针对现有技术中存在的问题,本发明实施例的目的是提供一种面向对象的插件数据处理方法,能够,至少部分解决现有技术中的缺陷。
为了实现上述目的,本发明实施例提出了一种面向对象的插件数据处理方法,包括:
建立插件接口基类,并将该插件接口基类的插件功能接口设定为可扩展继承的虚函数,并生成接口文档;通过实现接口处理类来继承插件接口基类中的虚函数,且该接口处理类具有可定义的私有数据和函数以实现功能接口;其中所述插件功能接口包括打开接口和关闭接口,所述打开接口用于生成一个接口处理类实例并返回接口基类的指针,以通过接口基类指针来调用相应的接口处理类实例功能;且所述关闭接口用于关闭和删除相应的接口处理类实例。
其中,所述方法还包括:
加载插件动态链接库文件,并映射打开接口和关闭接口的动态库接口函数;
打开动态库接口函数以获取所述接口基类的指针以及接口文档,并接口基类指针调用相应的接口功能以实现插件处理。
本发明的上述技术方案的有益效果如下:上述技术方案提出了一种面向对象的插件数据处理方法,依托C++面向对象技术对插件功能接口进行封装处理以使插件库具备面向对象的特性,从而减少插件开发的难度并实现带有私有数据的复杂逻辑功能插件。
附图说明
图1是本发明实施例的插件结构原理图;
图2是本发明实施例的插件实现流程示意图;
图3是本发明实施例的插件使用流程示意图。
具体实施方式
为了说明本发明的一种面向对象插件处理方法,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例提出了一种面向对象的插件数据处理方法,其核心在于提出了一种如图1所示的插件接口基类,在该插件接口基类的插件功能接口为可扩展继承的虚函数,通过实现接口处理类来继承接口基类中的虚函数,从而可以实现相应的接口功能;同时,在接口处理类中可以自定义私有数据和函数,方便功能接口的实现。本发明的实际插件功能接口有两个,一个是打开接口(open),打开接口会生成一个接口处理类实例,并返回接口基类的指针,这样就可以通过接口基类指针来调用相应的接口处理类实例功能;另一个是关闭接口(close),可以关闭和删除相应的接口处理类实例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京许继电气有限公司;国家电网有限公司,未经北京许继电气有限公司;国家电网有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811338506.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种实现app自动配置的方法
- 下一篇:一种基于微服务化架构的边缘计算网关