iOS中的设计模式——MVC模式(一)
2013-10-31 21:22
260 查看
MVC (Model-View-Controller,视图-视图-控制器)模式是相当古老的设计模式之一,它最早出现在Smalltalk语言中。现在,很多计算机语言和架构都采用了MVC模式。
MVC模式是一种复合设计模式,由“观察者”(Observer)模式、“策略”(Strategy)模式和 “合成”(Composite)模式等组成。
1.模型。保存应用数据的状态,回应视图对状态的查询,处理相应业务逻辑,完成应该的功能,将状态的变化通知视图。
2.视图。为用户展示信息并提供接口。用户通过视图向控制器发出动作请求,然后再向模型发出查询状态的申请,而模型状态的变化会通知给视图。
3.控制器。接受用户请求,根据请求更新模型。另外,控制器还会更新所选择的视图作为对用户请求的回应。控制器是视图和模型的媒介,可以降低视图与模型的耦合度,使视 图和模型的权责更加清晰,从而提高开发效率。
对应与哲学中的“内容”与“形式”,在MVC模型中,模式是“内容”,它存储了视图所需要的数据,视图是“形式”,是外部表现方式,而控制器是它们的媒介。
Cocoa Touch中的MVC模式
在Cocoa Touch框架的UIKit中,UIViewController是所有控制器的根类,如UITableViewController、UITabBarController和UINavigationController。UIView是视图和控件的根类,模型一般继承于NSObject的子类,例如:NSString、NSArray等等。
MVC模式是一种复合设计模式,由“观察者”(Observer)模式、“策略”(Strategy)模式和 “合成”(Composite)模式等组成。
1.模型。保存应用数据的状态,回应视图对状态的查询,处理相应业务逻辑,完成应该的功能,将状态的变化通知视图。
2.视图。为用户展示信息并提供接口。用户通过视图向控制器发出动作请求,然后再向模型发出查询状态的申请,而模型状态的变化会通知给视图。
3.控制器。接受用户请求,根据请求更新模型。另外,控制器还会更新所选择的视图作为对用户请求的回应。控制器是视图和模型的媒介,可以降低视图与模型的耦合度,使视 图和模型的权责更加清晰,从而提高开发效率。
对应与哲学中的“内容”与“形式”,在MVC模型中,模式是“内容”,它存储了视图所需要的数据,视图是“形式”,是外部表现方式,而控制器是它们的媒介。
Cocoa Touch中的MVC模式
在Cocoa Touch框架的UIKit中,UIViewController是所有控制器的根类,如UITableViewController、UITabBarController和UINavigationController。UIView是视图和控件的根类,模型一般继承于NSObject的子类,例如:NSString、NSArray等等。
相关文章推荐
- ubuntu下搭建nagios
- 淘宝技术部(ios 优化方案)
- iOS开发之加载、滑动翻阅大量图片优化解决方案
- iOS简单实现视频音频的边下边播
- IOS系列——页面释放不掉的问题
- ubuntu下搭建nagios
- 利用jenkins和hockey组织iOS持续交付过程
- IOS中定时器NSTimer的开启与关闭
- iOS多线程的初步研究(四)-- NSTimer
- iOS多线程的初步研究(四)-- NSTimer
- iOS多线程的初步研究(四)-- NSTimer
- 如何提取ipa中的图片; iphone ios 如何制作越狱ipa安装文件
- IOS第一天
- iOS的init、loadView, viewDidLoad, viewDidUnload, dealloc的关系
- ios7下不能录音问题解决
- iOS NSString的常用用法
- 'addTimeInterval:' is deprecated: first deprecated in iOS 4.0
- iOS学习笔记之QuartzCore框架
- IOS 实现流媒体 播放
- iOS AvPlayer AvAudioPlayer音频的后台播放问题