iOS-为什么选VIPER
一: 优点
- 拆分的职责更细,便于编写测试用例
- VIPER内部通过Protocol解耦,能灵活应对变化
二: 和MV(X)系列的对比
- 这里的Presenter和MVP中的不同
- 这里的P并没有主要负责业务逻辑
- 主要是用来V/I间传递事件,以及管理一些View交互逻辑
- I承载业务及数据逻辑
- I的可测试性会更强
- VIPER和MVX相比多了几个要维护的东西
- View事件管理
- 数据事件管理
- 事件和业务的转化
- 总结每个业务用例
- 模块内分层隔离
- 模块间通信
三: 好架构应该有的特点
- 能把代码按职责划分解耦
- 可测试性
- 易用,维护成本低,改动成本小
参考
https://juejin.im/post/5ad1b93d518825557b4d2d44