Cocoa編程學習 MVC學習基礎

來源:互聯網
上載者:User

Cocoa編程學習 MVC學習基礎是本文要介紹內容,Cocoa 使用了一種修改版本的MVC模式來處理GUI的顯示。MVC模式自1979年以來)已經出現很長時間了,它皆在分離顯示使用者介面所需的大量任務,並處理使用者互動。正如名稱所蘊含的,MVC具有三個主要部分,Model模型)、View視圖)和Controller控制器):

模型——模型是特定於領域的資料表現形式。比如說,我們正在建立一個工作清單應用程式。你可能會有一個Task對象的集合,書寫為List<Task>。 你或許把這些資料儲存在資料庫、XML檔案,或者甚至從Web Service中得到,不過MVC不那麼關心它們是在何處/如何來持久儲存的乃至它們是什麼)。相反,它特別專註於如何顯示這些資料,並處理與使用者互動的,好的模型類不包括任何有關使用者介面的內容,可以在多個應用程式中使用。

視圖——視圖代表了資料如何實際地顯示出來。在我們這個假設的任務應用程式中,會在一個網頁以HTML的方式)中來顯示這些任務,也會在一個WPF頁面中以XAML的方式)來顯示,或者在一個iPhone應用程式中顯示為UITableView 。如果使用者點擊某個任務,要刪除之,那麼視圖通常會觸發一個事件,或對Controller控制器)進行一個回調,好的視圖類是通用類,可以在多個應用中使用。

控制器——控制器是模型和視圖間的粘合劑,負責控制整個應用的流程。控制器的目的就是擷取模型中的資料,告知視圖來顯示。控制器還偵聽著視圖的事件,在使用者選中一個任務來刪除的時候,控制著任務從模型中刪除。

通過分離顯示資料、持久化資料和處理使用者互動的職責,MVC模式有助於建立易於理解的代碼。而且,它促進了視圖和模型的解耦,以便模型能被重用。例如,在你的應用程式中,有兩個介面,基於Web的和WPF的,那麼你可以在兩者中都使用同樣的模型定義代碼。

因而,在很多MVC架構中不管具體的工作方式如何,基本原理都大致如此的。然而,在Cocoa及Cocoa Touch)中,還是或多或少有所不同,蘋果用MVC來代表Views視圖)、View Controller視圖控制器)和Models模型);但是在不同的控制項中,它們卻不是完全一致的,實現的方式也不太一樣。

在Objective-C/Cocoa的世界裡,我們建立的controller通常是指應用程式Application)的委託Delegate),或者可以簡單稱做app delegate。當你在Objective-C裡面建立一個app delegate的時候,這個delegate可以做為你所有model和view的controller,或者你也可以為不同的model和view分別建立controller。

小結:Cocoa編程學習 MVC學習基礎 的內容介紹完了,希望本文對你有所協助!

參考:MonoTouch中的MVC簡介。地址:http://www.infoq.com/cn/articles/monotouch-mvc

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.