为什么要组件化,组件化好的在哪里?
-
在项目的开发中,随着需求的增加以及需求频繁的变更,项目会越来越大,代码会变得越来越臃肿,耦合会越来越多,开发效率也会降低,这个时候我们就需要对项目进行重构以及模块的拆分,这个就叫做组件化开发.
-
实现代码解耦,代码复用,让代码架构更加清晰
-
实现多人协作开发
-
加快编译速度,提高开发效率,降低项目的维护成本
组件化的缺点有什么?
- 使用控件注入ButterKnife/IOC时,在library于Application之间的切换不是很友好
这是一个典型的组件化架构
- login模块,live模块,pay模块完全解耦,他们通过lib中的接口相互交互。
这样做有什么好处呢?
- 所有模块相互独立,便于合作分工。
- 通过接口交互,如果出了问题,接口不响应,也不会出现崩溃
- 模块可独立运行,提高开发效率
结构和理论基本如此,下面我们开始起锅烧油
-
首先创建项目和module
**在此项目中,一共添加了3个module,类型如图标注。 -
lib库是我们的基础工具库,里面包含,工具类,base类,网络访问框架,安全组件,等整个App使用的基础功能
-
后面两个则是我们的业务组件,live和pay。 所有组件必须全部依赖lib库,app则依赖所有组件,组件与组件之间相互解耦,没有关联,通过lib的接口交互
统一版本号
- 因为我们拥有大量的组件,我们必须统一维护,使用gradle统一管理项目开发环境
第一步我们需要配置我们的gradle