模块化+组件化+插件化+ARouter

什么是模块化?

   模块化开发,大家应该都是比较熟悉的。就是将常用的UI、网络请求、数据库操作、第三方库的使用等公共部分抽离封装成基础模块,或者将大的业务上拆分为多     个小的业务模块,这些业务模块又依赖于公共基础模块的开发方式,最终将这些模块打包成一个完整的app

模块化的优点

  复用 :基础模块,可为业务模块所复用
  解耦 :降低模块间的耦合,避免出现一处代码修改,牵一发而动全身的尴尬局面
  协同开发: 项目越来越大,团队人数越来越多,模块化开发可在尽量解耦的情况下,使不同的开发人员专注于自己负责的业务,同步开发,显著提供开发效率

模块化的缺点

  项目代码量越来越大,每次的编译速度越来越慢,哪怕几句代码的修改,都需要等待若干分钟等待编译运行查看执行结果,极大的降低了开发效率
 业务模块越来越多,不可避免地产生越来越多且复杂的耦合,哪怕一次小的功能更新,也需要对修改代码耦合的模块进行充分测试;
 团队人数越来越多,却要求开发人员了解与之业务相关的每一个业务模块,防止出现此开发人员修改代码导致其他模块出现bug的情况,这个要求对于开发人员显然 是不友好的

新建common以library的形式创建
新建moduleA以application的形式创建
新建moduleB以application的形式创建

配置全局的控制开关

在各个子module里的build.gradle里配置



你可能感兴趣的:(模块化+组件化+插件化+ARouter)