一种插槽式的组件化框架中间件——SCC

SCC(SlotComponentCaller)是一种已铺好基本线路(组件管理),露出基本卡槽(组件接口),底层引流线路已打通,使用者尽管往卡槽插入(注册)到对应槽位,可对槽位进行拦截(interceptor),亦可通过底层阀门接通(AIDL跨进程)进行两个卡槽之间的接通的插槽式组件化框架。基本原理如下图所示:

在相同进程中,组件A可以通过组件管理工具call起组件B,组件B收到调用之后会给回回应result。组件可在使用之前的任何时刻随时插入卡槽(管理器)注册。支持跨进程调用,如进程1中的组件A通过AIDL调用进程2中的组件C,蓝色即为组件A调用组件C的路径,有远程Call,也有远程返回result。这里涉及Binder的AIDL进程间通信,可查看读懂Android框架思想中的Binder机制是基石一文,如Call的作用就是希望进入进程2中call起Component,而不是在进程1call起Component,相同的,返回result的结果也是回到进程1中进行。这里Component组件不仅仅是Activity关联,可以是任意操作。

​​

18582563-26bb420fde0950ce

通过SCC,在重构某某宝的时候,首先会把原始整个工程看成一个Component,叫OriginComponent,然后开启一个Launcher Component,这个Launcher并不做具体的操作,只是call起OriginComponent而已。随后,就可以逐步的成立如LoginComponent,把登录页面从OriginComponent分离出来,并进行全量回归。

实际上,从原始工程中剥离业务成立单独的组件的过程是艰难的,但却是充满期待的,因为就相当于把乱糟糟的一捆线,一根根的抽离出来,到最后完成的时候是可以看到很简洁的工程。

接下来会介绍另一个中间件,该中间件是一个导航中间件,其作用和SCC有部分是一样的,比如当SCC用来启动一个Activity的时候,实际也是找出一个Activity。然而真正的原理也不尽相同。导航中间件是用到了Android的Scheme原理启动Activity,接下来我们将介绍到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值