一种模块间通信的方法和装置制造方法及图纸

技术编号:22329773 阅读:21 留言:0更新日期:2019-10-19 12:12
本发明专利技术公开了一种模块间通信的方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:调用预定义的注册机类获取注册机对象,通过所述注册机对象获取路由类;调用所述路由类的实例获取函数,将预先设定的目标模块标识传入所述实例获取函数,以获取所述目标模块标识对应的通信接口实例;将所述通信接口实例转换为通信接口,调用所述通信接口中定义的函数,以实现模块间的通信。该实施方式通过调用路由类中的实例获取函数,获取目标模块的通信接口实例,进而调用对应通信接口中的函数,实现模块间的通信。本发明专利技术实施例的方法调用简单、除获取通信接口实例外无需额外消耗设备性能。

【技术实现步骤摘要】
一种模块间通信的方法和装置
本专利技术涉及计算机领域,尤其涉及一种模块间通信的方法和装置。
技术介绍
在移动端APP(Application,应用程序)开发过程中,随着开发项目的进行,功能的迭代,代码会越来越多。如果将所有的代码糅杂到一个文件中,必然会导致后期维护困难,编译速度降低。为避免上述问题,在APP开发过程中会采用模块化架构,即将开发项目拆分成相互独立的模块,一个模块的修改不影响其他模块。在模块化架构中,如何实现各模块间的通信是一个核心问题。现有技术中通过统一资源定位符(UniformResourceLocator,URL)或者广播实现模块间通信。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:URL通信方式需要将参数与字符串来回互转,广播通信方式需要将参数本地化,在互转或者本地化的过程中,均会消耗设备的一部分性能,特别是模块间通信较为频繁的时候,会造成设备性能的急剧下降。
技术实现思路
有鉴于此,本专利技术实施例提供一种模块间通信的方法和装置,通过调用路由类中的实例获取函数,获取目标模块的通信接口实例,进而调用对应通信接口中的函数,实现模块间的通信。本专利技术实施例的方法调用简单、除获取通信接口实例外无需额外消耗设备性能。实现上述目的,根据本专利技术实施例的一个方面,提供了一种模块间通信的方法。本专利技术实施例的一种模块间通信的方法,包括:调用预定义的注册机类获取注册机对象,通过所述注册机对象获取路由类;其中,所述注册机类包括所述路由类,所述路由类包括获取每个模块的通信接口实例的实例获取函数;调用所述路由类的实例获取函数,将预先设定的目标模块标识传入所述实例获取函数,以获取所述目标模块标识对应的通信接口实例;将所述通信接口实例转换为通信接口,调用所述通信接口中定义的函数,以实现模块间的通信。可选地,所述注册机类还包括自身模块的模块标识、通过所述路由类获取目标模块的通信接口实例的获取函数和返回自身模块的通信接口实例的实例返回函数;所述路由类还包括多个所述模块标识和对应的注册机对象;所述获取所述目标模块标识对应的通信接口实例,包括:根据所述目标模块标识获取对应的目标模块的注册机对象;调用所述注册机对象对应的注册机类中的实例返回函数,以返回所述目标模块的通信接口实例;调用所述获取函数,以获取所述目标模块的通信接口实例。可选地,所述调用预定义的注册机类获取注册机对象的步骤之前,还包括:根据配置文件中每个模块的注册机类的全类名,对应生成各所述模块的注册机对象;通过所述注册机对象获取各所述模块的模块标识,将所述模块标识和所述注册机对象以键值对的形式保存到所述路由类中。可选地,所述获取所述目标模块标识对应的通信接口实例的步骤之前,还包括:定义通信接口;其中,所述通信接口用于设置每个模块能够实现的功能;实现所述通信接口,通过所述通信接口的实现类将所述通信接口进行实例化,以得到所述通信接口实例。可选地,所述根据配置文件中每个模块的注册机类的全类名,对应生成各所述模块的注册机对象的步骤之前,还包括:定义所述注册机类,将所述注册机类的全类名写入所述配置文件。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种模块间通信的装置。本专利技术实施例的一种模块间通信的装置,包括:路由类获取单元,用于调用预定义的注册机类获取注册机对象,通过所述注册机对象获取路由类;其中,所述注册机类包括所述路由类,所述路由类包括获取每个模块的通信接口实例的实例获取函数;实例获取单元,用于调用所述路由类的实例获取函数,将预先设定的目标模块标识传入所述实例获取函数,以获取所述目标模块标识对应的通信接口实例;函数调用单元,用于将所述通信接口实例转换为通信接口,调用所述通信接口中定义的函数,以实现模块间的通信。可选地,所述注册机类还包括自身模块的模块标识、通过所述路由类获取目标模块的通信接口实例的获取函数和返回自身模块的通信接口实例的实例返回函数;所述路由类还包括多个所述模块标识和对应的注册机对象;所述实例获取单元,还用于:根据所述目标模块标识获取对应的目标模块的注册机对象;调用所述注册机对象对应的注册机类中的实例返回函数,以返回所述目标模块的通信接口实例;以及调用所述获取函数,以获取所述目标模块的通信接口实例。可选地,所述装置还包括:生成保存单元,用于根据配置文件中每个模块的注册机类的全类名,对应生成各所述模块的注册机对象;以及通过所述注册机对象获取各所述模块的模块标识,将所述模块标识和所述注册机对象以键值对的形式保存到所述路由类中。可选地,所述装置还包括:定义实现单元,用于定义通信接口;其中,所述通信接口用于设置每个模块能够实现的功能;以及实现所述通信接口,通过所述通信接口的实现类将所述通信接口进行实例化,以得到所述通信接口实例。可选地,所述装置还包括:定义写入单元,用于定义所述注册机类,将所述注册机类的全类名写入所述配置文件。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种电子设备。本专利技术实施例的一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术实施例的一种模块间通信的方法。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读介质。本专利技术实施例的一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本专利技术实施例的一种模块间通信的方法。上述专利技术中的一个实施例具有如下优点或有益效果:通过调用路由类中的实例获取函数,获取目标模块的通信接口实例,进而可以通过调用对应通信接口中的函数实现模块间的通信,调用简单、除获取通信接口实例外无需额外消耗设备性能;将模块标识和注册机类对象预先保存在路由类中,通过目标模块标识即可获取对应的注册机类对象,通过该注册机类对象即可通信接口实例;将模块标识和注册机类对象以键值对的形式保存到路由类中,方便后续查找对应的注册机类对象;预先定义并实现通信接口,以设置并实现每个模块的功能;预先定义注册机类,以通过该类实现模块标识的定义、路由类的保存、获取函数和实例返回函数的定义。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的模块间通信的方法的主要步骤的示意图;图2是根据本专利技术实施例的模块间通信的方法的主要流程示意图;图3是根据本专利技术实施例的模块间通信的系统的架构示意图;图4是根据本专利技术实施例的模块间通信的装置的主要单元的示意图;图5是本专利技术实施例可以应用于其中的示例性系统架构图;图6是适用于来实现本专利技术实施例的电子设备的计算机装置的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的模块间通信的方法的主要步骤的示意图。如图1所示,本专利技术实施例的模块间通信的方法,主要包括如下步骤:步骤S101:调用预定义本文档来自技高网...

【技术保护点】
1.一种模块间通信的方法,其特征在于,包括:调用预定义的注册机类获取注册机对象,通过所述注册机对象获取路由类;其中,所述注册机类包括所述路由类,所述路由类包括获取每个模块的通信接口实例的实例获取函数;调用所述路由类的实例获取函数,将预先设定的目标模块标识传入所述实例获取函数,以获取所述目标模块标识对应的通信接口实例;将所述通信接口实例转换为通信接口,调用所述通信接口中定义的函数,以实现模块间的通信。

【技术特征摘要】
1.一种模块间通信的方法,其特征在于,包括:调用预定义的注册机类获取注册机对象,通过所述注册机对象获取路由类;其中,所述注册机类包括所述路由类,所述路由类包括获取每个模块的通信接口实例的实例获取函数;调用所述路由类的实例获取函数,将预先设定的目标模块标识传入所述实例获取函数,以获取所述目标模块标识对应的通信接口实例;将所述通信接口实例转换为通信接口,调用所述通信接口中定义的函数,以实现模块间的通信。2.根据权利要求1所述的方法,其特征在于,所述注册机类还包括自身模块的模块标识、通过所述路由类获取目标模块的通信接口实例的获取函数和返回自身模块的通信接口实例的实例返回函数;所述路由类还包括多个所述模块标识和对应的注册机对象;所述获取所述目标模块标识对应的通信接口实例,包括:根据所述目标模块标识获取对应的目标模块的注册机对象;调用所述注册机对象对应的注册机类中的实例返回函数,以返回所述目标模块的通信接口实例;调用所述获取函数,以获取所述目标模块的通信接口实例。3.根据权利要求1或2所述的方法,其特征在于,所述调用预定义的注册机类获取注册机对象的步骤之前,还包括:根据配置文件中每个模块的注册机类的全类名,对应生成各所述模块的注册机对象;通过所述注册机对象获取各所述模块的模块标识,将所述模块标识和所述注册机对象以键值对的形式保存到所述路由类中。4.根据权利要求1所述的方法,其特征在于,所述获取所述目标模块标识对应的通信接口实例的步骤之前,还包括:定义通信接口;其中,所述通信接口用于设置每个模块能够实现的功能;实现所述通信接口,通过所述通信接口的实现类将所述通信接口进行实例化,以得到所述通信接口实例。5.根据权利要求3所述的方法,其特征在于,所述根据配置文件中每个模块的注册机类的全类名,对应生成各所述模块的注册机对象的步骤之前,还包括:定义所述注册机类,将所述注册机类的全类名写入所述配置文件。6.一种模块间通信的装置,其特征在于,包括:路由类获取单元,用于调用预定义的注册机类获取注册机对象,通过所述注册机对象获取路由...

【专利技术属性】
技术研发人员:胡锋
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1