架构汇总
2021-06-13 本文已影响0人
冰山_X
mvc
WeChat78048359640ed1ac94ff97042c867442.png- 优点:
- 相比其他架构,mvc架构相对简单,代码量相对较少,开发速度相对较快
- 缺点:
- 控制器过于臃肿
- model层太过轻量化
- view跟controller高度耦合
- controller持有view跟model
mvvm
1034967-20161114235257670-1690176279.png- 优点:
- vc的职责和复杂度更小
- MVVM耦合性更低
- vm持有model
- view持有vm
- 缺点:
- 数据绑定导致bug更加难寻找
- 代码量相对较多,不适合开发小项目
mvp
v2-c148f1737e2b54d64e2659f9bc957581_1440w.jpeg- 特点:
- 复杂页面,一个view绑定一个presenter
- 简单页面,一个controller绑定一个presenter
- 注重协议编程,presenter通过协议跟view/vc通信达到view与model解耦,同时减少controller代码
- 优点:
- presenter持有model,但不持有view
- view持有presenter
- 缺点:
- view持有presenter,所以presenter中的view,需要weak修饰,避免循环引用
- view中的所有操作都会交给presenter处理,代码量剧增,难以维护