[发明专利]应用程序以及应用程序的业务插件使用方法在审
申请号: | 201810766336.7 | 申请日: | 2018-07-12 |
公开(公告)号: | CN108958842A | 公开(公告)日: | 2018-12-07 |
发明(设计)人: | 彭亮;朱红阁 | 申请(专利权)人: | 北京猫眼文化传媒有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100013 北京市朝阳区望*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 业务插件 宿主应用程序 服务接口 应用程序 接入层 抽象层 创建 宿主 保存服务 服务 | ||
本发明提供了一种应用程序及其业务插件使用方法,该应用程序包括:宿主应用程序;抽象层,包括多个服务接口,其中,每个服务接口用于描述宿主应用程序能够提供的服务;至少一个业务插件,用于接入至宿主应用程序;其中,宿主应用程序包括接入层;接入层,用于对接入的每个业务插件创建该业务插件需要使用的所有服务接口的实现类,以及创建并保存服务接口的名称与实现类的名称的对应关系;宿主应用程序,包括接入层创建的实现类以及对应关系;ServiceLoader层。本发明通过抽象层的多个服务接口,可以将同一份业务插件的代码直接在多个宿主APP中使用。
技术领域
本发明涉及通信技术领域,特别是涉及一种应用程序以及应用程序的业务插件使用方法。
背景技术
目前,服务类型的应用程序(Application,APP)主要为平台APP,所谓平台APP,即,其在提供自身具备的功能的前提下,还可以接入各种业务线(比如旅行、外卖、酒店、电影等等)。一个业务线在平台APP中存在的代码组织形式称作业务插件,比如,美团APP(一种平台App)中的电影业务就是一个业务插件。当平台APP接入了业务插件后,该平台APP相对于业务插件来说就是宿主APP,比如,电影插件如果接入到美团APP,那么美团App就是电影插件的宿主APP。
其中,不同的平台APP的技术栈(平台APP所使用的各种基础技术以及框架)是存在差异的,因此,不同平台APP所使用的业务插件的技术栈也是不同的。所以,在现有技术中,在开发各个平台APP的业务插件时,需要分别依据各个平台APP的技术栈来开发每个平台APP所使用的业务插件,但是不同平台APP之间往往存在着相同功能的业务插件,例如电影业务插件,如果针对每种平台APP都重复的开发同一种业务插件,则不仅会浪费开发资源,还降低了代码开发效率。
如果能够将同一个业务插件的代码复用到不同技术栈的多个平台APP上,比如同样一份代码可以作为电影业务插件直接在美团平台APP上接入,同时也可以直接在猫眼平台APP上接入,则可以大大的降低代码开发成本,提升代码开发效率。
但是如上所述,不同平台APP上即便是针对同一个业务插件,该业务插件在不同平台APP上的技术栈是与所属平台APP的技术栈相对应的,无法使用技术栈A编写的电影业务插件应用到使用技术栈B的平台APP1,相反,使用技术栈A编写的电影业务插件只可以应用到使用技术栈A的平台APP2中。
因此,针对如何将同一套业务插件的代码直接复用到多个宿主APP的需求,目前尚无解决方案。
发明内容
本发明提供了一种应用程序以及应用程序的业务插件使用方法,以解决现有技术中无法将同一份业务插件的代码直接在多个宿主APP中使用的问题。
为了解决上述问题,根据本发明的一个方面,本发明公开了一种应用程序的业务插件使用方法。
所述应用程序包括:
宿主应用程序;
抽象层,包括多个服务接口,其中,每个服务接口用于描述所述宿主应用程序能够提供的服务;
至少一个业务插件,用于接入至所述宿主应用程序;
其中,所述宿主应用程序包括接入层;
所述接入层,用于对接入的每个业务插件创建该业务插件需要使用的所有服务接口的实现类,以及创建并保存所述服务接口的名称与所述实现类的名称的对应关系;
所述宿主应用程序,包括所述接入层创建的所述实现类以及所述对应关系;
ServiceLoader层;
所述方法包括:
所述ServiceLoader层接收所述至少一个业务插件中目标业务插件对目标服务接口的调用请求;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京猫眼文化传媒有限公司,未经北京猫眼文化传媒有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810766336.7/2.html,转载请声明来源钻瓜专利网。