什么是组件化
组件化就是由多个mudule组成的应用,达到代码和资源的隔离,每个模块都可以独立运行或者打包调试能力。
1、各个组件专注与自身功能的实现,模块中代码高度聚合,只负责一项任务,也就是常说的单一责任原则;
2、各业务研发可以互不干扰。提升协作效率;
3、业务组件可进行拔插,灵活多变;
4、业务组件之间将不再直接引用和依赖,各个业务模块组件更加独立、降低耦合;
5、加快编译速度,提高开发效率;
组件化架构图设计
模块介绍
1、App壳:负责管理各个业务组件和打包APK,没有具体的业务
2、业务组件层:分别由不同业务构成独立的业务组件,一般指mudule,可以独立打包和调试。如登录模块抽取为一个独立模块组件
3、功能组件层:包含公共业务接口定义,数据模型,数据库相关组件;如自定义View,也就是自定义或者组合的自定义view
4、基础层:包含了各种开源库以及业务无关的各种自研工具;如网络请求库Retrofit、图片加载Glide等库。