业务接口注册方法及装置、使用方法及装置、设备及介质制造方法及图纸

技术编号:38908922 阅读:11 留言:0更新日期:2023-09-25 09:27
本申请公开业务接口注册方法及装置、使用方法及装置、设备及介质,涉及软件开发技术领域。其中,业务接口注册方法中,响应于编译指令,获取业务需求的第一目标头文件和接口文件,接口文件中包括第二目标头文件和待注册的业务接口,通过扫描接口文件,根据预设匹配关系对接口文件进行匹配,得到业务接口,创建对应的业务对象,并创建业务接口和业务对象的全局映射表,再根据业务对象创建对应的业务回调接口,业务回调接口用于根据业务接口创建实例化业务对象,以处理业务需求,由此对业务接口进行自动注册,生成包括第一目标头文件、第二目标头文件、全局映射表和业务回调接口的注册文件,有效解决了忘记注册、代码冗余和编码错误等问题。误等问题。误等问题。

【技术实现步骤摘要】
业务接口注册方法及装置、使用方法及装置、设备及介质


[0001]本申请涉及软件开发
,特别是涉及一种业务接口注册方法及装置、使用方法及装置、设备及介质。

技术介绍

[0002]在进行C++相关的软件开发的过程中,为了实现某些功能或业务,需要编写相应的功能函数或业务处理类等接口,并需要手动进行注册。然而,由于手动注册过程通常是在程序的初始化阶段进行的,因此很容易被遗漏或忘记,导致相关功能不可用,而且每个接口都需要编写注册代码,会导致代码冗余并容易出现编码错误,例如拼写错误、参数错误等,从而导致需要进行调试等工作增加了额外的人工成本和时间成本。

技术实现思路

[0003]本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请实施例提供了一种业务接口注册方法及装置、使用方法及装置、设备及介质,能够在编译时自动注册业务接口,解决忘记注册的问题,并通过自动生成注册文件有效解决了代码冗余和编码错误的问题。
[0004]第一方面,本申请实施例提供了一种业务接口注册方法,包括:
[0005]响应于编译指令,获取业务需求的第一目标头文件和接口文件;其中,所述接口文件包括第二目标头文件和待注册的业务接口;
[0006]扫描所述接口文件,并根据预设匹配关系对所述接口文件进行匹配,以得到所述业务接口;其中,所述业务接口为一个或多个;
[0007]针对所述业务接口创建对应的业务对象,并创建所述业务接口和所述业务对象的全局映射表;
[0008]根据所述业务对象创建对应的业务回调接口;所述业务回调接口用于根据所述业务接口创建实例化业务对象,所述实例化业务对象用于处理所述业务需求;
[0009]对所述业务接口进行自动注册,生成注册文件;其中,所述注册文件包括所述第一目标头文件、所述第二目标头文件、所述全局映射表和所述业务回调接口。
[0010]在本申请的一些实施例中,所述响应于编译指令,获取业务需求的第一目标头文件和接口文件,包括:
[0011]响应于所述编译指令,获取所述第一目标头文件;其中,所述第一目标头文件为根据所述业务需求确定的头文件,包括以下至少一种:map头文件,typeinfo头文件或自定义头文件;
[0012]获取所述业务需求的所述接口文件;其中,所述接口文件包括一个或多个接口子文件,所述接口子文件位于同一目录,所述接口子文件包括初始头文件和待注册的业务接口,所述初始头文件包括所述第二目标头文件。
[0013]在本申请的一些实施例中,所述预设匹配关系为正则匹配关系;所述扫描所述接
口文件,并根据预设匹配关系对所述接口文件进行匹配,以得到所述业务接口,包括:
[0014]在所述接口子文件的所述目录内递归扫描所述接口子文件;
[0015]在每次扫描过程中,根据正则匹配关系对接口子文件的所述初始头文件进行匹配,以得到所述业务接口;其中,所述正则匹配关系为:(?<=class\s{1})\w+(?=\s*:\s*public\s+业务主接口),所述业务接口继承所述业务主接口,所述正则匹配关系表示匹配以class开头并且继承所述业务主接口的业务接口,(?<=class\s{1})代表匹配class和一个空格,\w+代表匹配一个或多个字母、数字或下划线,(?=\s*:\s*public\s+业务主接口)代表先匹配零个或多个空格,匹配一个冒号,再匹配零个或多个空格,然后匹配public和至少一个空格,最后匹配业务主接口;
[0016]基于所述业务接口,从所述初始头文件中获取所述第二目标头文件;其中,所述第二目标头文件为包含所述业务接口的头文件。
[0017]在本申请的一些实施例中,所述业务主接口的属性包括:第一属性和第二属性,所述第一属性用于判断继承所述业务主接口的所述业务接口能否处理所述业务需求,所述第二属性用于实现所述业务接口的处理逻辑。
[0018]在本申请的一些实施例中,使用std::map<std::string,Base*>创建所述全局映射表,std::string代表所述业务接口,Base*代表指向所述业务对象的指针。
[0019]第二方面,本申请实施例还提供了一种业务接口使用方法,包括:
[0020]基于注册文件遍历全局映射表,判断业务对象能否处理业务需求;其中,所述注册文件由本申请第一方面实施例所述的业务接口注册方法生成;
[0021]若所述业务对象能够处理所述业务需求,则调用对应的业务回调接口根据对应的业务接口创建实例化业务对象;
[0022]调用所述实例化业务对象处理所述业务需求,并在所述业务需求处理完成后释放所述实例化业务对象。
[0023]第三方面,本申请实施例还提供了一种业务接口注册装置,应用如本申请第一方面实施例所述的业务接口注册方法,包括:
[0024]响应模块,用于响应编译指令,获取业务需求的第一目标头文件和接口文件;其中,所述接口文件包括第二目标头文件和待注册的业务接口;
[0025]匹配模块,用于扫描所述接口文件,并根据预设匹配关系对所述接口文件进行匹配,以得到所述业务接口;其中,所述业务接口为一个或多个;
[0026]映射模块,用于针对所述业务接口创建对应的业务对象,并创建所述业务接口和所述业务对象的全局映射表;
[0027]回调模块,用于根据所述业务对象创建对应的业务回调接口;所述业务回调接口用于根据所述业务接口创建实例化业务对象,所述实例化对象用于处理所述业务需求;
[0028]注册模块,用于对所述业务接口进行自动注册,生成注册文件;其中,所述注册文件包括所述第一目标头文件、所述第二目标头文件、所述全局映射表和所述业务回调接口。
[0029]第四方面,本申请实施例还提供了一种业务接口使用装置,应用如本申请第二方面实施例所述的业务接口使用方法,包括:
[0030]判断模块,用于基于注册文件遍历全局映射表,判断业务对象能否处理业务需求;其中,所述注册文件由本申请第一方面实施例所述的业务接口注册方法生成;
[0031]实例化模块,用于当所述业务对象能够处理所述业务需求时,调用对应的业务回调接口根据对应的业务接口创建实例化业务对象;
[0032]处理模块,用于调用所述实例化业务对象处理所述业务需求,并在所述业务需求处理完成后释放所述实例化业务对象。
[0033]第五方面,本申请实施例还提供了一种电子设备,包括存储器、处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如本申请第一方面实施例所述的业务接口注册方法或者本申请第二方面实施例所述的业务接口使用方法。
[0034]第六方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如本申请第一方面实施例所述的业务接口注册方法或者本申请第二方面实施例所述的业务接口使用方法。
[0035]本申请实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种业务接口注册方法,其特征在于,包括:响应于编译指令,获取业务需求的第一目标头文件和接口文件;其中,所述接口文件包括第二目标头文件和待注册的业务接口;扫描所述接口文件,并根据预设匹配关系对所述接口文件进行匹配,以得到所述业务接口;其中,所述业务接口为一个或多个;针对所述业务接口创建对应的业务对象,并创建所述业务接口和所述业务对象的全局映射表;根据所述业务对象创建对应的业务回调接口;所述业务回调接口用于根据所述业务接口创建实例化业务对象,所述实例化业务对象用于处理所述业务需求;对所述业务接口进行自动注册,生成注册文件;其中,所述注册文件包括所述第一目标头文件、所述第二目标头文件、所述全局映射表和所述业务回调接口。2.根据权利要求1所述的业务接口注册方法,其特征在于,所述响应于编译指令,获取业务需求的第一目标头文件和接口文件,包括:响应于所述编译指令,获取所述第一目标头文件;其中,所述第一目标头文件为根据所述业务需求确定的头文件,包括以下至少一种:map头文件,typeinfo头文件或自定义头文件;获取所述业务需求的所述接口文件;其中,所述接口文件包括一个或多个接口子文件,所述接口子文件位于同一目录,所述接口子文件包括初始头文件和待注册的业务接口,所述初始头文件包括所述第二目标头文件。3.根据权利要求2所述的业务接口注册方法,其特征在于,所述预设匹配关系为正则匹配关系;所述扫描所述接口文件,并根据预设匹配关系对所述接口文件进行匹配,以得到所述业务接口,包括:在所述接口子文件的所述目录内递归扫描所述接口子文件;在每次扫描过程中,根据正则匹配关系对接口子文件的所述初始头文件进行匹配,以得到所述业务接口;其中,所述正则匹配关系为:(?<=class\s{1})\w+(?=\s*:\s*public\s+业务主接口),所述业务接口继承所述业务主接口,所述正则匹配关系表示匹配以class开头并且继承所述业务主接口的业务接口,(?<=class\s{1})代表匹配class和一个空格,\w+代表匹配一个或多个字母、数字或下划线,(?=\s*:\s*public\s+业务主接口)代表先匹配零个或多个空格,匹配一个冒号,再匹配零个或多个空格,然后匹配public和至少一个空格,最后匹配业务主接口;基于所述业务接口,从所述初始头文件中获取所述第二目标头文件;其中,所述第二目标头文件为包含所述业务接口的头文件。4.根据权利要求3所述的业务接口注册方法,其特征在于,所述业务主接口的属性包括:第一属性和第二属性,所述第一属性用于判断继承所述业务主接口的所述业务接口能否处理所述业务需求,所...

【专利技术属性】
技术研发人员:王晓龙张成利
申请(专利权)人:深圳市新国都支付技术有限公司
类型:发明
国别省市:

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

1