- 业务 Module 都放到同一个工程里。
- 每个业务 Module 都是一个独立的工程。
如图:![](https://img-blog.csdnimg.cn/img_convert/0b4bf1c0ab42b840696ac38d72be1a37.png)
![](https://img-blog.csdnimg.cn/img_convert/d61b2241293723af2af15f4fa4c4ff7b.png)
模块的划分
模块可分为多种类型,一般分为:三方的基础 SDK (网络请求,地图导航,推送等);自己平台的通用功能(网络请求的能力封装、图片加载能力封装、权限设置、UI组件等);业务模块的拆分(登录、交易、会员、硬件等)。![](https://img-blog.csdnimg.cn/img_convert/1c03962520de33a586f9bdffd9d46aa9.png)
模块间通信
虽然功能已经按模块拆分,但是模块间通信也是多种形势,如果处理不好模块之间耦合严重维护成本增大。常见模块问通信有:直接依赖、事件或广播通信、路由通信、面向接口通信,下面就对比下几种通信优势。
二、实现方案
直接依赖
![](https://img-blog.csdnimg.cn/img_convert/341960f65f5e700ed728c950ad374622.png)
这种方式实现简单,但是耦合太严重,不方便维护与开发,