《從零開始學Swift》學習筆記(Day67)——Cocoa Touch設計模式及應用之MVC模式

原創文章,歡迎轉載。轉載請註明:關東昇的博客 php

MVC(Model-View-Controller,模型-視圖-控制器)模式是至關古老的設計模式之一,它最先出如今Smalltalk語言中。如今,不少計算機語言和架構都採用了MVC模式。 設計模式

MVC模式概述微信

MVC模式是一種複合設計模式,由 「觀察者」(Observer)模式、「策略」(Strategy)模式和「合成」(Composite)模式等組成。MVC模式由3個部分組成,如圖所示,這3個部分的做用以下所示。架構

  •    模型。保存應用數據的狀態,迴應視圖對狀態的查詢,處理應用業務邏輯,完成應用的功能,將狀態的變化通知視圖。
  •    視圖。爲用戶展現信息並提供接口。用戶經過視圖向控制器發出動做請求,而後再向模型發出查詢狀態的申請,而模型狀態的變化會通知給視圖。
  •    控制器。接收用戶請求,根據請求更新模型。另外,控制器還會更新所選擇的視圖做爲對用戶請求的迴應。控制器是視圖和模型的媒介,能夠下降視圖與模型的耦合度,使視圖和模型的權責更加清晰,從而提升開發效率。                       

 

 

對應於哲學中的「內容」與「形式」, 在MVC模型中,模式是「內容」,它存儲了視圖所須要的數據,視圖是「形式」,是外部表現方式,而控制器是它們的媒介。框架

 Cocoa Touch中的MVC模式網站

上面咱們討論的是通用的MVC模式,而Cocoa和Cocoa Touch框架中的MVC模式與傳統的MVC模式略有不一樣,前者的模型與視圖不能進行任何通訊,全部的通訊都是經過控制器完成的,如圖所示。設計

 

 在Cocoa Touch框架的UIKit框架中,UIViewController是全部控制器的根類,如UITableViewController、UITabBarController和UINavigationController。UIView是視圖和控件的根類。3d

 

歡迎關注關東昇新浪微博@tony_關東昇。
關注智捷課堂微信公共平臺,瞭解最新技術文章、圖書、教程信息
  ​
更多精品iOS、Cocos、移動設計課程請關注智捷課堂官方網站:http://www.zhijieketang.com
智捷課堂論壇網站:http://51work6.com/forum.phpserver

相關文章
相關標籤/搜索