架构模式知识体系概览
问题
Android 应用架构有哪些主流模式?如何选择?
答案
架构演进
四种架构模式对比
| 特性 | MVC | MVP | MVVM | MVI |
|---|---|---|---|---|
| View-Model 关系 | 直接引用 | 通过 Presenter | 数据绑定 | 单向数据流 |
| 可测试性 | 差 | 好 | 好 | 最好 |
| 状态管理 | 分散 | 分散 | 分散 | 集中(单一状态) |
| 代码量 | 少 | 多(接口多) | 中 | 中 |
| Google 推荐 | ❌ | ❌ | ✅ | ✅ |
Google 推荐架构
| 层 | 职责 | 组件 |
|---|---|---|
| UI Layer | 显示数据、响应用户输入 | Activity、Fragment、Composable |
| Domain Layer(可选) | 封装业务逻辑 | UseCase |
| Data Layer | 管理数据来源 | Repository、DataSource |