要点:

1.  什么是MVC

2. 了解Cocoa的伪MVC本质

 

MVC框架

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

 

ios自动开发框架 ios开发mvc框架_MVC

优点

耦合性低,重用性高,生命周期,成本低,部署快,可维护性高,有利软件工程化管理

缺点

没有明确的定义,不适合小、中等规模的应用程序,增加系统结构和实现的复杂性,视图与控制器间的过于紧密的连接,视图对模型数据的低效率访问,一般高级的界面工具或构造器不支持模式

总的来说有优势,也有劣势,其核心来说还是界面、逻辑、基础架构分离的思想,这是毫无疑问非常正确的,但要说一定要搞个什么M,C,V也完全没有必要。

 

拆穿Cocoa的伪MVC本质

 

网上看到有个人说C#没有OC架构好,没有ViewController层,我就笑了~~我不禁要问一句你真的了解什么是MVC吗?你真的从OC乱糟糟的ViewController架构中获益了吗?

 

MVC的核心是业务逻辑、数据、界面显示分离,这样就可以复用核心的业务逻辑。

 

比方说我有一套界面驱动的代码,现在要做一套脚本驱动或者命令行模式的运行方式,那么我的核心的业务逻辑可以直接拿来用,不需要修改,这才是MVC!

 

这跟OC的View Controller完全是两个概念!OC的View Controller作用主要还是控制界面,在界面与核心逻辑之间搭建起一座桥梁,虽然不能说不好,但是其逻辑上完全跟界面结合在一起,根本就不具备复用性,哪里能谈得上MVC。

 

所以IOS的这一套架构根本就不符合MVC的理念,只能算是伪MVC。