架构汇总

2021-06-13  本文已影响0人  冰山_X

mvc

WeChat78048359640ed1ac94ff97042c867442.png
  1. 相比其他架构,mvc架构相对简单,代码量相对较少,开发速度相对较快
  1. 控制器过于臃肿
  2. model层太过轻量化
  3. view跟controller高度耦合
  4. controller持有view跟model

mvvm

1034967-20161114235257670-1690176279.png
  1. vc的职责和复杂度更小
  2. MVVM耦合性更低
  3. vm持有model
  4. view持有vm
  1. 数据绑定导致bug更加难寻找
  2. 代码量相对较多,不适合开发小项目

mvp

v2-c148f1737e2b54d64e2659f9bc957581_1440w.jpeg
  1. 复杂页面,一个view绑定一个presenter
  2. 简单页面,一个controller绑定一个presenter
  3. 注重协议编程,presenter通过协议跟view/vc通信达到view与model解耦,同时减少controller代码
  1. presenter持有model,但不持有view
  2. view持有presenter
  1. view持有presenter,所以presenter中的view,需要weak修饰,避免循环引用
  2. view中的所有操作都会交给presenter处理,代码量剧增,难以维护
上一篇下一篇

猜你喜欢

热点阅读