再窥iOS架构模式
· 阅读需 3 分钟
我们为什么要在架构上费心思?
移动开发人员会在以下三个层面上评估一个架构的好坏:
- 各个功能分区的职责分配是否均衡
- 是否具有易测试性
- 是否易于使用和维护
职责分配的均衡性 | 易测试性 | 易用性 | |
---|---|---|---|
紧耦合MVC | ❌ | ❌ | ✅ |
Cocoa MVC | ❌ V和C是耦合的 | ❌ | ✅⭐ |
MVP | ✅ 独立的视图生命周期 | ✅ | 一般:代码较多 |
MVVM | ✅ | 一般:视图(View)存在对UIKit的依赖 | 一般 |
VIPER | ✅⭐️ | ✅⭐️ | ❌ |
移动开发人员会在以下三个层面上评估一个架构的好坏:
职责分配的均衡性 | 易测试性 | 易用性 | |
---|---|---|---|
紧耦合MVC | ❌ | ❌ | ✅ |
Cocoa MVC | ❌ V和C是耦合的 | ❌ | ✅⭐ |
MVP | ✅ 独立的视图生命周期 | ✅ | 一般:代码较多 |
MVVM | ✅ | 一般:视图(View)存在对UIKit的依赖 | 一般 |
VIPER | ✅⭐️ | ✅⭐️ | ❌ |