Android开发之组件化

什么是组件化

组件化就是把一个完整的APP或者是模块拆分成许多个子模块,每个子模块可以进行独立的编译和运行,每个模块之间不相互依赖,但是又可以相互交互。

组件化的规则

下图为组件化的架构图:
Android开发之组件化
集成模式: 所有的业务组件被“app壳工程”依赖,组成一个完整的APP;
组件模式: 可以独立开发业务组件,每一个业务组件就是一个APP;
app壳工程: 负责管理各个业务组件,和打包apk,没有具体的业务功能;
业务组件: 根据公司具体业务而独立形成一个的工程;
**Main组件:**属于业务组件,指定APP启动页面、主界面 ;
Common组件: 也就是功能组件(component_base 模块),支撑业务组件的基础,提供多数业务组件需要的功能,例如提供网络请求功能;
component_data组件: 这里我存放了与项目相关的公共数据,例如bean的基类,IntentKV存数据的键值对等.
第三方SDK组件: 集成微信,支付宝支付,分享,推送等常用的第三方框架.

为什么要有组件化

1.提高组件的复用性:直接将复用的的代码做成Android Module,打包AAR上传代码仓库,使用组件化的规则来进行约束,可以提高复用的便捷性。
2.降低组件间的耦合:通过组件化的规则把代码拆分成不同的模块,模块要做到高内聚,低耦合,模块间不能直接调用,这样会使代码更容易维护,模块的BUG率降低。

如何给一个非组件化项目引入组件化