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

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

table control sdn rate term targe rac uitabbar bsp

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

MVCModel-View-Controller,模型-視圖-控制器)模式是相當古老的設計模式之中的一個,它最早出如今Smalltalk語言中。

如今,非常多計算機語言和架構都採用了MVC模式。

MVC模式概述

MVC模式是一種復合設計模式,由 “觀察者”(Observer)模式、“策略”(Strategy)模式和“合成”(Composite)模式等組成。MVC模式由3個部分組成,如圖所看到的,這3個部分的作用例如以下所看到的。

  • 模型

    保存應用數據的狀態,回應視圖對狀態的查詢,處理應用業務邏輯,完畢應用的功能,將狀態的變化通知視圖。

  • 視圖。為用戶展示信息並提供接口。用戶通過視圖向控制器發出動作請求,然後再向模型發出查詢狀態的申請,而模型狀態的變化會通知給視圖。

  • 控制器。接收用戶請求,依據請求更新模型。另外,控制器還會更新所選擇的視圖作為對用戶請求的回應。

    控制器是視圖和模型的媒介,能夠減少視圖與模型的耦合度,使視圖和模型的權責更加清晰,從而提高開發效率。

    技術分享

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

CocoaTouch中的MVC模式

上面我們討論的是通用的MVC模式,而CocoaCocoa Touch框架中的MVC模式與傳統的MVC模式略有不同。前者的模型與視圖不能進行不論什麽通信,全部的通信都是通過控制器完畢的,如圖所看到的。

技術分享

Cocoa Touch框架的UIKit框架中。UIViewController是全部控制器的根類,如UITableViewControllerUITabBarControllerUINavigationControllerUIView是視圖和控件的根類。

歡迎關註關東升新浪微博@tony_關東升。
關註智捷課堂微信公共平臺。了解最新技術文章、圖書、教程信息
?技術分享
很多其它精品iOSCocos、移動設計課程請關註智捷課堂官方站點:http://www.zhijieketang.com
智捷課堂論壇站點:http://51work6.com/forum.php

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