Android组件化(二):组件化概览

278 阅读3分钟

组件化的优点

开始介绍之前,当然要先罗列一下组件化的优缺点吧。
优点

  1. 维护、迭代便捷,只变动要修改组件,程序稳定性有保障
  2. 组件完全独立,便于复用和移植
  3. 修改对内可见,对外隐形,不同团队迭代互不干扰
  4. 独立成应用,便于调试
  5. 编译速度、调试便捷性全兼容
  6. 组件动态加载,动态释放,启动速度提高,资源占用减少
  7. 拓展性强,支持个性化定制

缺点

  1. 前期框架搭建有一定门槛
  2. 组件前期设计耗时耗力

其实就和好车好房逻辑一致,它的缺点就是贵。

怎么组件化

根据已有项目的组件化经验,经过消化整理,形成了一套还算成体系的实现步骤。
要实现组件化,就需要从以下事项入手:

  1. 组件化分层
  2. 组件高内聚
  3. 组件间通信
  4. 组件单独运行
  5. 组件引入方式可配置
  6. 组件生命周期管理
  7. 组件复用性进阶,支持个性化配置

面对的困境
当然,如果想要一口气实现以上所有步骤,还是有一定的门槛,也需要投入不少的人力的。
新搭建项目还好,框架搭建好之后按部就班的逐一实现即可(就是在整套架构搭建起来之前,需求慢一点)。
若是想对现有项目做完整的组件化改造,非采用休克疗法不可为。毕竟,这些改造全部做完比较耗时,若同时进行需求迭代,天知道会混乱成啥样子。

如何解决
既然步子太大,那就将大工程拆分一下,采用三步走战略,也就是将以上七个事项拆分为三个阶段,逐阶段实现:

  1. 基本的组件化:实现模块间物理隔离+总线通信
  2. 组件化进阶二:组件能够独立运行调试
  3. 组件化进阶三:组件复用性提高+引入组件生命周期管理。不论组件是按照那种架构(MVC、MVP、MVVM),都能够实现UI层、数据层、逻辑层的动态定制

总结
将组件化的优缺点、怎么做、怎么拆分汇总起来,形成了一张比较清晰的表格

组件化阶段待完成目标对应的优点
阶段一:基本版组件化分层维护、迭代便捷,只变动要修改组件,程序稳定性有保障
组件高内聚组件完全独立,便于复用和移植
组件间通信修改对内可见,对外隐形,不同团队迭代互不干扰
阶段二:标准版组件单独运行独立成应用,便于调试
组件引入方式可配置编译速度、调试便捷性全兼容
阶段三:进阶版组件生命周期管理组件动态加载,动态释放,启动速度提高,资源占用减少
组件可拓展性提高支持个性化定制

👀关注公众号:Android老皮!!!欢迎大家来找我探讨交流👀