应用组件调用方法、装置、电子设备及存储介质制造方法及图纸

技术编号:22135064 阅读:24 留言:0更新日期:2019-09-18 08:49
本申请公开了应用组件调用方法、装置、电子设备及存储介质,通过预先生成的多个接口容器,使不同类型的接口信息存放于不同的接口容器中,避免不同类型组件代码层面发生交织,进而降低应用程序内部耦合性。进一步结合该特定的应用组件存放方案,提供一套特定的调用流程,即,当接收到调用者发送的目标接口信息时,通过遍历各个接口容器,查找目标接口信息,如果在多个接口容器的一个中查找到目标接口信息,则返回第一消息给所述调用者,以使应用程序的不同工程间,在降低代码耦合的同时,可以相互调用公共功能。

Application Component Call Method, Device, Electronic Equipment and Storage Media

【技术实现步骤摘要】
应用组件调用方法、装置、电子设备及存储介质
本申请涉及计算机
,尤其涉及一种应用组件调用方法、装置、电子设备及存储介质。
技术介绍
在组件化开发
,功能组件和业务组件各自代表一种代码封装形式。功能组件用于将一项具体功能提供给调用者,例如拍照功能、图片裁剪功能等;业务组件用于将一套业务流程提供给调用者。一套业务流程往往需要调用多个功能,例如“拍照后剪裁图片并上传到应用服务器”,其中“拍照”、“剪裁”和“上传”即该业务流程调用的功能。在组件化项目一个工程的业务实现方法中,通常先将相关的业务组件和功能组件封装到工具类中,以使工具类中包括若干可调用的功能方法;再将工程涉及的全部工具类一并存放在工程中或者工程的某一文件目录中;当出现业务需求时,上层业务代码将直接引用工具类代码以调用其功能。此外,由于一个安卓项目一般都包括多个工程,不同工程可能需要调用相同的功能或共用一些工具类,因此在实际开发过程中,如果需要在项目中增加新的工程,则会从原有工程的工具类拆分出新工程所需的功能组件或业务组件,以形成新的工具类存放在新工程中,进而满足新工程的业务需要。在上述业务实现方法中,由于同一工具类中同时封装有相关的业务组件和功能组件,且工程涉及的全部工具类一并存放在工程中或者工程的某一文件目录中,因此同一工具类下的功能组件和业务组件,以及工具类代码和上层业务代码之间会发生相互交织,从而造成代码结构模糊、耦合性高。
技术实现思路
本申请提供了应用组件调用方法、装置、电子设备及存储介质,以解决现有业务实现方法中,代码结构模糊、耦合性高的问题。第一方面,本申请提供了一种应用组件调用方法,该方法包括:接收调用者发送的目标接口信息,所述目标接口信息对应于目标组件;通过遍历预先生成的多个接口容器,查找所述目标接口信息;其中,每个接口容器用于存放同种类型的接口信息;如果在所述多个接口容器的一个中查找到所述目标接口信息,则返回第一消息给所述调用者,所述第一消息用于指示所述调用者调用所述目标组件。进一步的,所述预先生成的多个接口容器至少包括:根据已注册功能组件的接口信息预先生成的第一接口容器;根据已注册业务组件的接口信息预先生成的第二接口容器;根据应用程序对外接口信息预先生成的第三接口容器。进一步的,所述接收调用者发送的目标接口信息之前,所述方法还包括:应用程序启动时,保存应用组件的配置信息以接受每个组件的主动注册;所述应用组件包括功能组件和业务组件;根据所述配置信息实例化每个已注册组件;根据已注册功能组件的接口信息生成第一接口容器,根据已注册业务组件的接口信息生成第二接口容器,以及,根据应用程序对外接口信息生成第三接口容器。进一步的,所述方法还包括:获取每个组件的未活跃时间,所述未活跃时间的起始时间为所述组件上一次被调用的时间;如果根据所述未活跃时间判定所述组件为不活跃组件,则保留所述不活跃组件的配置信息,并从相应接口容器中删除所述不活跃组件的接口信息,以销毁所述不活跃组件。进一步的,所述方法还包括:如果在每个所述接口容器中均未查找到所述目标接口信息,则判断所述目标组件是否为已销毁的不活跃组件;如果所述目标组件是已销毁的不活跃组件,则根据目标组件配置信息,重新实例化所述目标组件,以及,将所述目标组件的接口信息添加到相应的接口容器中;返回所述第一消息给所述调用者。进一步的,所述方法还包括:如果所述目标组件非已销毁的不活跃组件,则返回用于通知调用者所述目标组件无法调用的第二消息给调用者。进一步的,所述方法还包括:当调用者接收到所述第一消息时,通过JAVA动态代理获取目标组件的数据处理结果。第二方面,本申请提供了一种应用组件管理装置,包括:组件注册模块,用于存储应用组件的配置信息,以完成应用组件的主动注册;所述应用组件包括功能组件和业务组件;接口存放模块;所述接口存放模块包括多个预先生成的接口容器,其中,每个接口容器用于存放同种类型的接口信息;管理模块,用于接收调用者发送的目标接口信息;所述目标接口信息对应于目标组件;以及,通过遍历所述多个接口容器,查找所述目标接口信息;如果所述多个接口容器的一个中查找到所述目标接口信息,则返回第一消息给所述调用者,所述第一消息用于指示所述调用者调用所述目标组件。进一步的,所述预先生成的多个接口容器至少包括:根据已注册功能组件的接口信息预先生成的第一接口容器;根据已注册业务组件的接口信息预先生成的第二接口容器;根据应用程序对外接口信息预先生成的第三接口容器。进一步的,所述管理模块还用于:根据所述配置信息实例化每个已注册组件;根据已注册功能组件的接口信息生成第一接口容器,根据已注册业务组件的接口信息生成第二接口容器,以及,根据应用程序对外接口信息生成第三接口容器。进一步的,所述管理模块还用于:获取每个组件的未活跃时间,所述未活跃时间的起始时间为所述组件上一次被调用的时间;如果根据所述未活跃时间判定所述组件为不活跃组件,则保留所述不活跃组件的配置信息,并从相应接口容器中删除所述不活跃组件的接口信息,以销毁所述不活跃组件。进一步的,所述管理模块还用于:如果在每个所述接口容器中均未查找到所述目标接口信息,则判断所述目标组件是否为已销毁的不活跃组件;如果所述目标组件是已销毁的不活跃组件,则根据目标组件配置信息,重新实例化所述目标组件,以及,将所述目标组件的接口信息添加到相应的接口容器中;返回所述第一消息给所述调用者。进一步的,所述管理模块还用于:如果所述目标组件非已销毁的不活跃组件,则返回用于通知调用者所述目标组件无法调用的第二消息给调用者。第三方面,本申请提供了一种电子设备,包括:存储器,用于存储程序指令;处理器,用于调用并执行所述存储器中的程序指令,以实现第一方面所述的应用组件调用方法。第四方面,本申请提供了一种存储介质,所述存储介质中存储有计算机程序,当应用组件管理装置的至少一个处理器执行所述计算机程序时,应用组件管理装置执行第一方面所述的应用组件调用方法。由以上技术方案可知,本申请提供的应用组件调用方法、装置、电子设备及存储介质,通过预先生成的多个接口容器,使不同类型的接口信息存放于不同的接口容器中,避免不同类型组件代码层面发生交织,进而降低应用程序内部耦合性。进一步结合该特定的应用组件存放方案,提供一套特定的调用流程,即,当接收到调用者发送的目标接口信息时,通过遍历各个接口容器,查找目标接口信息,如果在多个接口容器的一个中查找到目标接口信息,则返回第一消息给所述调用者,以使应用程序的不同工程间,在降低代码耦合的同时,可以相互调用公共功能。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请应用组件调用方法实现场景示意图;图2为本申请应用组件调用方法的一个实施例流程图;图3为本申请实施例的一个示例性实现场景图;图4为本申请应用组件调用方法的另一个实施例流程图;图5为本申请应用组件调用方法的又一个实施例流程图;图6为本申请应用组件管理装置的一个实施例示意图;图7为本申请实施例提供的电子设备的硬件结构示意图。具体实施方式为了使本
的人员更好地理解本文档来自技高网
...

【技术保护点】
1.一种应用组件调用方法,其特征在于,包括:接收调用者发送的目标接口信息,所述目标接口信息对应于目标组件;通过遍历预先生成的多个接口容器,查找所述目标接口信息;其中,每个接口容器用于存放同种类型的接口信息;如果在所述多个接口容器的一个中查找到所述目标接口信息,则返回第一消息给所述调用者,所述第一消息用于指示所述调用者调用所述目标组件。

【技术特征摘要】
1.一种应用组件调用方法,其特征在于,包括:接收调用者发送的目标接口信息,所述目标接口信息对应于目标组件;通过遍历预先生成的多个接口容器,查找所述目标接口信息;其中,每个接口容器用于存放同种类型的接口信息;如果在所述多个接口容器的一个中查找到所述目标接口信息,则返回第一消息给所述调用者,所述第一消息用于指示所述调用者调用所述目标组件。2.根据权利要求1所述的方法,其特征在于,所述预先生成的多个接口容器至少包括:根据已注册功能组件的接口信息预先生成的第一接口容器;根据已注册业务组件的接口信息预先生成的第二接口容器;根据应用程序对外接口信息预先生成的第三接口容器。3.根据权利要求2所述的方法,其特征在于,所述接收调用者发送的目标接口信息之前,所述方法还包括:应用程序启动时,保存应用组件的配置信息以接受每个组件的主动注册;所述应用组件包括功能组件和业务组件;根据所述配置信息实例化每个已注册组件;根据已注册功能组件的接口信息生成第一接口容器,根据已注册业务组件的接口信息生成第二接口容器,以及,根据应用程序对外接口信息生成第三接口容器。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:获取每个组件的未活跃时间,所述未活跃时间的起始时间为所述组件上一次被调用的时间;如果根据所述未活跃时间判定所述组件为不活跃组件,则保留所述不活跃组件的配置信息,并从相应接口容器中删除所述不活跃组件的接口信息,以销毁所述不活跃组件。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:如果在每个所述接口容器中均未查找到所述目标接口信息,则判断所述目标组件是否为已销毁的不活跃组件;如果所述目标组件是已销毁的不活跃组件,则根据目标组件配置信息,重新实例化所述目标组件,以及,将所述目标组件的接口信息添加到相应的接口容器中;返回所述第一消息给所述调用者。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:如果所述目标组件非已销毁的不活跃组件,则返回用于通知调用者所述目标组件无法调用的第二消息给调用者。7.根据权利要求1所述的方法,其特征在于,所述方法还包括:当调用者接收到所述第一消息时,通过JAVA动态代理获取目标组件的数据处理结果。8.一种应用组件管理装置,其特征在于,包括:组件注册模块,用于存储应用组件的配置信息,以完成应用组件的主动注册;所述应用组件包括功能组件和业务组件;接口存放模块;...

【专利技术属性】
技术研发人员:张学军史忠伟
申请(专利权)人:五八有限公司
类型:发明
国别省市:天津,12

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

1