原创文章,欢迎转载。转载请注明:关东升的博客 php
MVC(Model-View-Controller,模型-视图-控制器)模式是至关古老的设计模式之一,它最先出如今Smalltalk语言中。如今,不少计算机语言和架构都采用了MVC模式。 设计模式
MVC模式概述微信
MVC模式是一种复合设计模式,由 “观察者”(Observer)模式、“策略”(Strategy)模式和“合成”(Composite)模式等组成。MVC模式由3个部分组成,如图所示,这3个部分的做用以下所示。架构
模型。保存应用数据的状态,回应视图对状态的查询,处理应用业务逻辑,完成应用的功能,将状态的变化通知视图。框架
视图。为用户展现信息并提供接口。用户经过视图向控制器发出动做请求,而后再向模型发出查询状态的申请,而模型状态的变化会通知给视图。网站
控制器。接收用户请求,根据请求更新模型。另外,控制器还会更新所选择的视图做为对用户请求的回应。控制器是视图和模型的媒介,能够下降视图与模型的耦合度,使视图和模型的权责更加清晰,从而提升开发效率。spa
对应于哲学中的“内容”与“形式”, 在MVC模型中,模式是“内容”,它存储了视图所须要的数据,视图是“形式”,是外部表现方式,而控制器是它们的媒介。.net
Cocoa Touch中的MVC模式设计
上面咱们讨论的是通用的MVC模式,而Cocoa和Cocoa Touch框架中的MVC模式与传统的MVC模式略有不一样,前者的模型与视图不能进行任何通讯,全部的通讯都是经过控制器完成的,如图所示。orm
在Cocoa Touch框架的UIKit框架中,UIViewController是全部控制器的根类,如UITableViewController、UITabBarController和UINavigationController。UIView是视图和控件的根类。
欢迎关注关东升新浪微博@tony_ 关东升。
关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
更多精品iOS、Cocos、移动设计课程请关注智捷课堂官方网站:http://www.zhijieketang.com
智捷课堂论坛网站:http://51work6.com/forum.php