MVC 是 iOS 預設開發模式,XCode 會引導開發者使用這樣的模式開發,但對初學者來說,似乎是天方夜談。看不懂沒關係,正常的狀況下應該沒有人一看就懂,所以先有個印象,等有點經驗回頭再來印證即可。

MVC模式最早在1974年提出,是施樂帕羅奧多研究中心(Xerox PARC)在20世紀80年代為程序語言 Smalltalk 發明的一種軟體設計模式,而 Objective-C 是基於Smalltalk 與 C 語言而發展出的語言,因為有這段關係,所以MVC就成了iOS程式設計的基礎。


 

MVC模式(Model-View-Controller)是軟體工程中的一種軟體架構模式,把軟體系統分為三個基本部分:模型(Model)、視圖(View)和控制器(Controller),分別說明如下

 

  1. Model 模型:用於封裝與應用程序的業務邏輯相關的數據以及對數據的處理方法,它直接和資料做為連結,它記錄了要執行的動作與實作的方法。

  2. View 視圖:就是顯示的設計。一般來說,它沒有任何的邏輯程式在上面,但作業系統會在事發生時不斷的的刷新它,任何需要產生訊息或事的元件,也要註冊到 Model 中。 理論上,這是選項,在MVC模型中,可以省略的部份,但在 iOS 模型中不會所有的模型都沒有View 不然就無讓使用者看到程式的結果了。

  3. Controller 控制器:Mode控制器起到不同層面間的組織作用,用於控制應用程序的流程。它處理事件並作出響應。「事件」包括用戶的行為和數據模型上的改變。



為什麼要這樣設計?原因是讓每個部份各自有明顯的分別,讓一支程式很容易的用在多種介面上,例如我們做的第一個例子,不管我們如何修改視圖的設計,程式的部份都不用修改,所以我們可以設計直的,橫的,iPad 的,iPhone 的介面檢視給同一個程式使用,這就是為什麼很多程式都可以橫的或直的使用你的手持裝置的原因。

上圖為一組 MVC 模型的圖示,也包括了許多實際可能會發生的訊息與模組間的連絡方式,在後續的章節會進一步說明。


arrow
arrow

    shenfive 發表在 痞客邦 留言(0) 人氣()