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

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是視圖和控件的根類。
發佈了70 篇原創文章 · 獲贊 37 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章