一.MVC的理想模式

- 控制器(Controller)--> 负责转发请求,对请求进行处理。
- 视图(View) --> 界面设计人员进行图形界面设计。
- 模型(Model) --> 进行数据管理和数据设计
- 目的: 低耦合,可复用
二.现实中的MVC(MC模式)

IOS中的Controlller 是 UIViewController,所以导致很多人会把视图写在Controller中,这样写的好处
- 比如按钮,可以在当前控制器直接add target:添加点击事件,在当前控制器内就能调用到点击方法,不需要设置代理之类的;
- 比如要找某个界面,直接切到这个界面对应的controller就行,因为View 写在 Controller里面,不用去别的地方找,就这里有;
- 比如一个View,里面有一张图片,图片依赖于网络资源,这样写的好处,可以直接让 View 在 Controller 中就能拿到资源,不需要传值
三.MC带来的问题
- Controller层臃肿。网络请求、视图逻辑、数据逻辑都写在这层,导致代码量大,特备臃肿。不利于以后的维护
- VIew写在Controller里无法复用。除非你在 VC2里面 copy 当前VC中的 View的代码
3.遗失的网络逻辑。 - 耦合性较高,维护性较差。比如在cell中可以修改model层的数据
四、mvvm

网友评论