[发明专利]组件间的功能调用方法、装置及组件化架构系统有效
申请号: | 201611235715.0 | 申请日: | 2016-12-28 |
公开(公告)号: | CN108255545B | 公开(公告)日: | 2022-09-02 |
发明(设计)人: | 谌炫 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F9/448;G06F9/445;G06F8/76 |
代理公司: | 北京清源汇知识产权代理事务所(特殊普通合伙) 11644 | 代理人: | 冯德魁 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 组件 功能 调用 方法 装置 架构 系统 | ||
本申请实施例公开了一种组件间的功能调用方法及装置,以及一种组件化架构系统。所述组件间的功能调用方法包括:第一组件向消息分发组件发送对第二组件的功能调用请求;消息分发组件接收所述功能调用请求后,采用在运行时确定接收方的机制将所述功能调用请求转发给第二组件中的接收方;第二组件通过所述接收方执行被请求的功能。采用上述方法,解决现有的组件间功能调用方式导致的组件间彼此耦合、组件复用性低的问题。
技术领域
本申请实施例涉及组件间的访问方法,具体涉及一种组件间的功能调用方法。本申请实施例同时涉及一种组件间的功能调用装置,以及一种组件化架构系统。
背景技术
在软件开发过程中,为了实现多人团队协同工作和多业务开发并行进行,通常需要对软件产品进行组件划分以便于并行开发,在完成开发后,通过将各组件的集成以形成完整的软件产品。其中,所述组件通常是指完成独立或者相对独立功能的代码集合,也可以称为功能组件。
在上面描述的软件开发过程中,由于不同组件存在着依赖关系,所以常常采用引入接口头文件的调用方式,例如,在iOS开发和Android开发中,将各组件打包成静态库或者动态库的方式集成在一个软件产品中,组件之间通过引用各库的接口头文件实现相互调用。
采用上述引用接口头文件的调用方式,虽然可以实现组件间的功能调用,但也存在以下缺陷:由于作为调用方的组件需要引用作为被调用方的组件的接口头文件,造成了组件间的侵入式调用,使得被调用方和调用方产生了耦合,在产生耦合的情况下,如果想要复用某一个组件,必然也要牵扯出这个组件依赖的其他组件,从而大大降低了组件的复用性,影响软件产品的开发效率。
发明内容
本申请实施例提供一种组件间的功能调用方法和装置,以解决现有的组件间功能调用方式导致的组件间彼此耦合、组件复用性低的问题。本申请实施例还提供一种组件化架构系统。
本申请实施例提供一种组件间的功能调用方法,包括:
第一组件向消息分发组件发送对第二组件的功能调用请求;
消息分发组件接收所述功能调用请求后,采用在运行时确定接收方的机制将所述功能调用请求转发给第二组件中的接收方;
第二组件通过所述接收方执行被请求的功能。
可选的,所述消息分发组件采用在运行时确定接收方的机制将所述功能调用请求转发给第二组件中的接收方,包括:
消息分发组件通过编程语言的反射机制获取第二组件中对应所述功能调用请求的类及该类提供的相应方法,并将该类提供的相应方法作为第二组件中的接收方;
消息分发组件通过调用所述相应方法,向第二组件转发所述功能调用请求;
所述第二组件通过所述接收方执行被请求的功能,包括:第二组件通过被调用的所述相应方法执行被请求的功能。
可选的,所述消息分发组件通过编程语言的反射机制获取第二组件中对应所述功能调用请求的类及该类提供的相应方法,包括:
消息分发组件获取第二组件中对应所述功能调用请求的类名称和方法名称,并根据所述类名称和方法名称,利用编程语言的反射机制获取第二组件中对应所述功能调用请求的类及该类提供的相应方法。
可选的,所述消息分发组件包括:对应于第二组件的接口模块和反射模块。
可选的,所述第一组件向消息分发组件发送对第二组件的功能调用请求,包括:
第一组件调用消息分发组件的所述接口模块提供的对应于所述功能调用请求的接口;
所述消息分发组件获取第二组件中对应所述功能调用请求的类名称和方法名称,并根据所述类名称和方法名称,利用编程语言的反射机制获取第二组件中对应所述功能调用请求的类和该类提供的相应方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611235715.0/2.html,转载请声明来源钻瓜专利网。