应用程序中组件的通信方法、装置、设备及存储介质制造方法及图纸

技术编号:24937510 阅读:26 留言:0更新日期:2020-07-17 20:50
本发明专利技术实施例公开了一种应用程序中组件的通信方法、装置、设备及存储介质,该方法应用于应用程序所依赖通信框架中的消息总线,包括:解析所接收的消息请求报文;如果消息请求报文中包含用于组件间通信的第一关键标识,则从预先确定的第一消息监听表中获得第一关键标识关联的目标功能组件,以使目标功能组件响应消息请求报文对应的请求操作;其中,第一消息监听表基于应用程序中功能组件在业务服务层依赖的业务逻辑接口类形成。解决了应用程序中组件间互相通信时无法清楚地了解消息的来源和去向,实现了在整个消息传递过程中清楚知道事件流转的效果,且代码简洁、具有高效解耦性。

【技术实现步骤摘要】
应用程序中组件的通信方法、装置、设备及存储介质
本专利技术实施例涉及消息通信技术,尤其涉及应用程序中组件的通信方法、装置、设备及存储介质。
技术介绍
在长期的实战开发过程中,随着应用软件APP功能的不断增多,业务逻辑越来越复杂,各个模块之间有着错综复杂的关系,高度的耦合在一起,修改一个功能牵一发而动全身,这样非常不利于项目的维护和开发。为了解决这些问题,近年来也涌现了许多组件化方案,不同的组件化方案有不同的利弊,但是组件化目标基本一致,只是实现思路可能不同。通信方式是组件化开发的核心。对于Android系统来说,每一个App内不同页面,不同组件都在进行消息传递,消息传递是最基本的组件,消息传递既可以用于Android四大组件间通信,也可以用于线程与线程之间的通信。对于Android开发者来说,经常使用的消息传递方式有很多,从最早使用的Handler,BroadcastReceiver,接口回调,Binder(均是安卓系统内部的通信机制),到近几年来流行的通信框架EventBus、RxBus等,这类通信框架在使用过程中,一旦事件被滥用,随着时间的迭代,由于其独特的解耦特性,会使代码很难进行调试、维护。并且现有通信框架中,通过消息总线进行消息通信时,消息发送方只负责发送消息,无法知道消息去向,消息接收方只负责接收消息,不知道消息来源,导致无法清楚知道事件的整个流转。
技术实现思路
本专利技术提供应用程序中组件的通信方法、装置、设备及存储介质,以实现应用程序内部组件通信过程的可追溯。第一方面,本专利技术实施例提供了一种应用程序中组件的通信方法,应用于应用程序所依赖通信框架中的消息总线,所述应用程序中组件的通信方法包括:解析所接收的消息请求报文;如果所述消息请求报文中包含用于组件间通信的第一关键标识,则从预先确定的第一消息监听表中获得所述第一关键标识关联的目标功能组件,以使所述目标功能组件响应所述消息请求报文对应的请求操作;其中,所述第一消息监听表基于应用程序中功能组件在业务服务层依赖的业务逻辑接口类形成。第二方面,本专利技术实施例还提供了一种应用程序中组件的通信装置,该应用程序中组件的通信装置包括:报文解析模块,用于解析所接收的消息请求报文;组件获取模块,用于如果所述消息请求报文中包含用于组件间通信的第一关键标识,则从预先确定的第一消息监听表中获得所述第一关键标识关联的目标功能组件,以使所述目标功能组件响应所述消息请求报文对应的请求操作;其中,所述第一消息监听表基于应用程序中功能组件在业务服务层依赖的业务逻辑接口类形成。第三方面,本专利技术实施例还提供了一种设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术实施例中任一所述的应用程序中组件的通信方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例中任一所述的应用程序中组件的通信方法。本专利技术实施例提供了一种应用程序中组件的通信方法、装置、设备及存储介质,通过解析所接收的消息请求报文;如果所述消息请求报文中包含用于组件间通信的第一关键标识,则从预先确定的第一消息监听表中获得所述第一关键标识关联的目标功能组件,以使所述目标功能组件响应所述消息请求报文对应的请求操作;其中,所述第一消息监听表基于应用程序中功能组件在业务服务层依赖的业务逻辑接口类形成。通过解析得到的消息请求报文中的第一关键标识,从第一消息监听表中获取目标功能组件,解决了应用程序中组件间互相通信时无法清楚地了解消息的来源和去向的问题,通过识别第一关键标识和第一消息监听表可以明确消息的去向,以及通过识别第一关键标识可以明确消息来源,实现了在整个消息传递过程中清楚知道事件流转的效果,且代码简洁、具有高效解耦性。附图说明图1是本专利技术实施例一中的一种应用程序中组件的通信方法的流程图;图2是本专利技术实施例一所提供应用程序中组件的通信方法内形成第一消息监听表的实现流程图;图3是本专利技术实施例一所提供应用程序中组件的通信方法内获得目标功能组件的实现流程图;图4是本专利技术实施例二中的一种应用程序中组件的通信方法的流程图;图5是本专利技术实施例二所提供应用程序中组件的通信方法内形成第二消息监听表的实现流程图;图6是本专利技术实施例二中所提供应用程序中组件的通信方法内获得目标组件子业务的实现流程图;图7是本专利技术实施例三中的一种应用程序中组件的通信装置的结构图;图8是本专利技术实施例四中的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种应用程序中组件的通信方法的流程图,本实施例可适用于应用程序中的组件互相通信的情况,该方法可以由应用程序中组件的通信装置来执行,应用于应用程序所依赖通信框架中的消息总线,具体包括如下步骤:S110、解析所接收的消息请求报文。在本实施例中,消息请求报文具体可以理解为应用程序中的功能组件向消息总线发送的通信信息,用于与其他功能组件进行互相通信。消息请求报文中至少携带实现组件通信的标识,通过标识确定作为消息接收方的功能组件,还可以携带数据信息和消息类型,用于作为消息接收方的功能组件在收到消息请求报文后执行对应的操作。具体的,消息总线对于接收到的消息请求报文进行解析,获取消息请求报文中所携带的标识。S120、如果所述消息请求报文中包含用于组件间通信的第一关键标识,则从预先确定的第一消息监听表中获得所述第一关键标识关联的目标功能组件,以使所述目标功能组件响应所述消息请求报文对应的请求操作。在本实施例中,所述第一消息监听表基于应用程序中功能组件在业务服务层依赖的业务逻辑接口类形成。在本实施例中,第一关键标识具体可以理解为用来区分应用程序中功能组件的标识,用于应用程序中组件间通信,不同功能组件的第一关键标识不同且唯一,第一关键标识为一种业务逻辑接口类。第一消息监听表具体可以理解为根据第一关键标识和目标功能组件的对应关系所建立的消息监听表,第一关键标识对应的目标功能组件可以是一个或者多个,根据实际业务需求而定。目标功能组件具体可以理解为作为消息请求报文接收方的功能组件。业务逻辑接口类具体可以理解为一种通信接口类,一个功能组件具有一个唯一的业务逻辑接口类。具体的,应用程序中各功能组件向业务服务层发送自身的业务逻辑接口类作为组件通信实现的前提条件,业务服务层存储多种业务逻辑接口类。当功能组件1想实现对功能组件2和3的监听时,消息总线对功能组件1与功能组件2和3的对应关系进行存储,即将作为消本文档来自技高网...

【技术保护点】
1.一种应用程序中组件的通信方法,应用于应用程序所依赖通信框架中的消息总线,其特征在于,包括:/n解析所接收的消息请求报文;/n如果所述消息请求报文中包含用于组件间通信的第一关键标识,则从预先确定的第一消息监听表中获得所述第一关键标识关联的目标功能组件,以使所述目标功能组件响应所述消息请求报文对应的请求操作;/n其中,所述第一消息监听表基于应用程序中功能组件在业务服务层依赖的业务逻辑接口类形成。/n

【技术特征摘要】
1.一种应用程序中组件的通信方法,应用于应用程序所依赖通信框架中的消息总线,其特征在于,包括:
解析所接收的消息请求报文;
如果所述消息请求报文中包含用于组件间通信的第一关键标识,则从预先确定的第一消息监听表中获得所述第一关键标识关联的目标功能组件,以使所述目标功能组件响应所述消息请求报文对应的请求操作;
其中,所述第一消息监听表基于应用程序中功能组件在业务服务层依赖的业务逻辑接口类形成。


2.根据权利要求1所述的方法,其特征在于,所述第一消息监听表的形成步骤包括:
接收应用程序中功能组件发送的监听通信接口类,各所述监听通信接口类为相应功能组件在业务服务层依赖的业务逻辑接口类;
针对每个发送监听通信接口类的第一功能组件,将所述监听通信接口类与所述第一功能组件关联存储在所述第一消息监听表中。


3.根据权利要求2所述的方法,其特征在于,所述第一关键标识为发送所述消息请求报文的功能组件依赖的第一业务逻辑接口类;
相应的,根据所述第一关键标识从预先确定的第一消息监听表中获得作为消息响应方的目标功能组件,包括:
从所述第一消息监听表中确定与所述第一业务逻辑接口类匹配的目标监听通信接口类;
获取所述第一消息监听表中与所述目标监听通信接口类关联的第一功能组件,并记为响应所述消息请求报文的目标功能组件。


4.根据权利要求1所述的方法,其特征在于,还包括:
如果所述消息请求报文中包含用于组件内通信的第二关键标识,则从预先确定的第二消息监听表中获取所述第二关键标识关联的目标组件子业务,以使所述目标组件子业务响应所述消息请求报文对应的请求操作;
其中,所述第二关键标识与所述第一关键标识不同,所述第二消息监听表基于各所述功能组件内包含的实现类形成。


5.根据权利要求4所述的方法,其特征在于,所述第二消息监听表的形成步骤包括:
接收应用程序中功能组件发送的各子业务实现类,所述各子业务实现类为相应功能组件所包含子业务的实现类;
针对每个发送子业务实现类的第二功能组...

【专利技术属性】
技术研发人员:赵冬冬彭杰
申请(专利权)人:南京领行科技股份有限公司
类型:发明
国别省市:江苏;32

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

1