组件相当于库,模块相当于框架.
组件化就是把可以复用的、独立的、基础的代码封装到一个方法或者代码片段里,需要的地方引入使用。用极少的代码实现之前相同的功能,避免代码的复写,提高了开发的效率。
模块化是为了单独实现某一功能模块进行封装的方法,一个模块里可能拥有n个基础组件搭配产生。模块化属于横向分块,每个模块像一条横向把n条竖直的线串联起来形成一个整体。
模块化
概述:把多功能、高耦合的代码逻辑拆散成多个功能单一、职责明确的模块。
好处:
- 复用
- 解耦
- 协同开发
缺点:
- 编译的时间越来越长,降低了开发效率
- 模块的增多,不可避免的会出现耦合
- 模块之间的相互影响
组件化
概述:组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发
好处:
- 架构灵活
- 便于开发和维护,有利于提高效率
- 组件间充分解耦
- 每个组件可以单独测试
缺点:
- 版本引起的冲突
- 资源命名重复
组件和模块的区别
组件:就像一个个小的单位,多个组件可以组合成组件库,方便调用和复用,组件间也可以嵌套,小组件组合成大组件。
模块:就像是独立的功能和项目,可以调用组件来组成模块,多个模块可以组合成业务框架。