组件化学习(1)思想及实现方式

1.组件化的介绍

我认为组件化,就是整个项目由app外壳,若干业务组件,以及公共基础组件构成。如图所示
在这里插入图片描述
我认为组件化最明显的特点就是:各个业务模块之间没有直接的横向依赖

意义:不相互依赖,但是可以相互交互;高度解耦;自由拆卸

2.组件化的部署

关于如何将项目组件化,网上有大量的学习资源,我推荐一篇文章,写的超级详细:就是这一篇文章

3.组件之间的通信:

当然最常用的还是阿里开源的ARouter。这个就不多介绍了,但是除了这种方式,还有其他几个比较原始的方式

①使用EventBus

缺点:EventBus维护成本高,不好管理

②使用广播

缺点:广播不好管理,消息一旦没处理好,就统一都发出去了

③使用隐式意图

缺点:在AndroidManifest.xml里面配置的xml太多了

④使用类加载

缺点:容易写错包名类名
原理:打成apk包的时候,点开dex文件,发现各个模块是在一起的,如图在这里插入图片描述
所以这是类加载方式的灵感

⑤使用全局Map(低配版ARouter)

缺点:要注册很多的对象。
每一个Activity创建的时候,要向这个全局Map里面注册。当需要跳转的时候,就从这个全局Map里面根据key去取相应的Activity对象,这样可以完成通信

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>