[发明专利]组件化路由方法及系统有效
申请号: | 202011550082.9 | 申请日: | 2020-12-24 |
公开(公告)号: | CN112769706B | 公开(公告)日: | 2023-03-24 |
发明(设计)人: | 朱祥吾 | 申请(专利权)人: | 平安银行股份有限公司 |
主分类号: | H04L45/02 | 分类号: | H04L45/02;H04L45/745 |
代理公司: | 北京英特普罗知识产权代理有限公司 11015 | 代理人: | 邓小玲;王勇 |
地址: | 518001 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 组件 路由 方法 系统 | ||
本发明实施例提供一种组件化路由方法,包括:获取用户添加的针对与路由相关的类或方法对应的注解;当接收到编译指令时,对注解进行识别,并根据识别出的注解生成对应的路由表,路由表保存有各个组件间的路由关系;当接收到Gradle插件构建指令时,扫描预设工程中所有文件的注解,并根据注解生成与每个组件对应的组件类,其中所有文件的注解包括AAR,组件类包括接口及与所述接口对应的静态代理类;将组件类中接口及静态代理类的对应关系写入至路由表中,以便从路由表中查找到对应关系以及路由关系,当接收到对目标组件的路由请求时,根据对应关系以及路由关系进行组件化路由。本发明能够支持AAR中的组件路由,且无需继承GoModule,实现组件间的彻底解耦。
技术领域
本发明实施例涉及云传输技术领域,尤其涉及一种组件化路由方法及系统。
背景技术
现有的大多数的产品都是跨团队以模块的方式开发出来的,模块/组件间的解耦问题可以通过组件化路由的方式实现。业内有诸多开源的路由方案,包括:安卓路由器(ARouter)、ActivityRouter等,其中最知名的当属阿里开源的ARouter方案。
ARouter功能强大,可按需初始化,分组管理,支持灵活降级方案。但存在以下明显的缺陷:组件化路由的调用,需要预先获取到服务(Service)接口文件,强转之后才能使用,这个过程明显耦合严重。
ActivityRouter是Github上的一个知名开源库,功能实现简单,容易维护,缺陷是:1)仅支持当前Module工程下的组件路由,不支持AAR中的组件路由;2)组件化Router,需要组件中预先定义static的Method,统一入参。这对组件开发者来说,很不友好,同时,这个Method作为组件的入口,大概率会需要解析多个Case,这个过程既不优雅又很繁琐。
另,现有的Aladdin Router方案实现较简单,所有的组件(Component)需要继承GoModule,使得解耦不彻底。
发明内容
有鉴于此,有必要提供一种组件化路由方法、系统、计算机设备及可读存储介质,能够解决现有技术中不支持AAR中的组件路由,需要组件中预先定义static的Method,统一入参以及所有组件不需要继承GoModule,解耦不彻底的问题。
为实现上述目的,本发明实施例提供了一种组件化路由方法,所述方法包括:
获取用户添加的针对与路由相关的类或方法对应的注解,所述注解包括:@Router、@RouterService及@RouterMethod;
当接收到所述用户发送的编译指令时,对所述注解进行识别,并根据识别出的注解生成对应的路由表,所述路由表保存有各个组件间的路由关系;
当接收到所述用户发送的Gradle插件构建指令时,扫描所述软件开发工具包的预设工程中所有文件的注解,并根据所述注解生成与每个组件对应的组件类,其中所有文件的注解包括AAR,所述组件类包括接口及与所述接口对应的静态代理类;
将所述组件类中所述接口及所述静态代理类的对应关系写入至所述路由表中,以便从所述路由表中查找到所述对应关系以及所述路由关系;及
当接收到对目标组件的路由请求时,根据所述路由表中的所述对应关系以及所述路由关系进行组件化路由。
可选地,所述方法还包括:
在接收到所述用户发送的编译指令之前,预先配置支持的多个目标注解至处理器中,其中多个所述目标注解包括:@Router、@RouterService及@RouterMethod;
所述对所述注解进行识别,并根据识别结果生成对应的路由表,包括:
将所述注解与所述多个所述目标注解进行对比,以确定所述注解是否属于多个所述目标注解;及
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安银行股份有限公司,未经平安银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011550082.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于北斗定位的运输物联网定位方法
- 下一篇:一种混合语音报警方法及系统