iOS架构模式

前言:大体梳理一遍请看

一.先看MVC

MVC.png
  • view只负责展示数据,例如UILable、UITableViewCell等
  • controller负责协调view和model
  • model:现在很多app的model只用来存储数据(数据存储),这是不合理的.根据Apple的文档,model包括数据和操作数据的业务逻辑(数据存储+数据操作).所以应该把数据获取、数据加工和数据存储都放到这里来.

二. MVVM

MVVM.png
  • 和MVC差不多,ViewModel做了C的很多工作

三.总结

  1. MVVM是在MVC的基础上,把胖model分离成model和viewModel.
  2. MVC和MVVM都是单向通讯.(双向绑定?自动更新?)
    mvvm+rac,view能监听到model的变化,自动刷新UI
  3. MVVM增加了代码量,但是解决了重量级试图控制器的问题,减轻了Controller的负担.

四.解疑答惑

  1. controller自带的view是什么鬼?
    答:controller自带的view其实是一个viewContainer(容器),并不是我们平时使用的UIView.所以可以理解为controller里面并没有正儿八经的view.
    点击这里参考

  2. cell.model = self.modelArr[indexPath.index]我们平时这样用view直接引用model好不好?
    答:不好这样的话model和cell就有了耦合.我们尽量把它们拆分开,粒度越细越好.以前大家写的都是不合理的.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容