-
一.组件化目的
-
二.组件化概念
1.什么是组件
组件是对数据和方法简单封装,功能单一,高内聚,是业务能划分的最小粒度;
2.什么组件化
组件化是基于组件可重用性的目的上,将大的系统按照分离关注点的形式,拆分成多个独立的组件;
三.模块化与组件化
模块化:将一个程序按照其功能进行拆分,分成相互独立的模块,以便于每个模块只包含与功能相关的内容;
组件化:更关注可复用性,更注重关注点分离,如果从集合角度来看的话,可以说往往一个模块包含了多个组件,简单来说,组件化比模块化粒度更小。其本质都是未了复用和解耦。只不过模块化更侧重于业务功能的划分,组件化更侧重于单一功能的内聚,偏向于解耦;
四.组件化与插件化
组件化不是插件化,插件化是在【运行时】,而组件化是在【编译时】;
- 插件化是基于多APK的,而组件化本质上还是只有一个 APK;
组件化和插件化的最大区别(应该也是唯一区别)就是组件化在运行时不具备动态添加和修改组件的功能,但是插件化是可以的;
五.组件化好处
提高编译速度,从而提高并行开发效率;
- 稳定的公共模块采用依赖的方式;
- 每个组件都有自己独立的版本,可以独立编译、测试、打包和部署;
- 避免模块之间的交叉依赖,做到低耦合、高内聚;
- 引用的第三方库代码统一管理,避免版本统一,减少引入冗余库;
- 定制项目可按需加载,组件之间可以灵活组建,快速生成不同类型的定制产品;