Android组件化探索与实践
什么是组件化 不用去纠结组件和模块语义上的区别,如果模块间不存在强依赖且模块间可以任意组合,我们就说这些模块是组件化的。 组件化的好处 实现组件化本身就是一个解耦的过程,同时也在不断对你的项目代码进行提炼。对于已有的老项目,实现组件化刚开始是很难受的,但是一旦组件的框架初步完成,对于后期开发效率是会有很大提升的。 组件间间相互独立,可以减少团队间的沟通成本。 每一个组件的代码量不会特别巨大,团队的新人也能快速接手项目。 如何实现组件化 这是本文所主要讲述的内容,本篇文章同时适用于新老项目,文中会逐渐带领大家实现如下目标: 各个组件不存在强依赖 组件间支持通信 缺少某些组件不能对项目主体产生破坏性影响 组件化-理论篇 理论篇不会讲述实际项目,先从技术上实现上面的三个目标。 组件间不存在强依赖 组件间不存在强依赖从理论上来说其实很简单,我不引用你任何东西,你也不要引用我任何东西就行了。但在实际项目中,需要清楚明白那些业务模块应该定义为组件,另外在已有项目中,拆分代码也需要大量的工作。 组件间如何通信 组件间通过接口通信。为每一个组件定义一个或者多个接口,简单起见,我们假定只为每一个组件定义接口(多个接口是类似的)。 便于理解,还是要举实例。假设当前存在两个组件UserManagement(用户管理)和OrderCenter(订单中心)