Cocos 內建有許多中設計模式,這些設計模式存在的目的,是要讓身為開發者的我們更能堅持下去,及更有生產力。三種主要的設計模式,第一個是 model - view - controller ( MVC ) 模式。這也是建構 Cocoa 和 Cocoa Touch 的主要模式;delegation 模式讓我們的程式和 Cocoa 自由的決定由誰執行什麼程式碼,還有一個是 notification 模式,讓我們的程式碼監看 app 中發生的重要事件。
Model - View - Controller
Model - View - Controller 設計模式是 Cocoa 的主要設計模式之一,讓我們看看這三個構成元件:
Model:
是一中內含資料的物件,或者負責儲存、管理與輸出「資料」到期他物間的物件。資料可以很單純,例如:一個字串,或是複雜到像一整個資料庫。Model 的主要目的是儲存資料並提供給其他物件使用,他們並不管資料給出去以後怎麽被使用,他們只在意資料如何怎麽被儲存。
View:
和使用者直接互動的元件,提供使用者租要或是取得使用者的輸入。view 並不負責管理要顯示的資料,view 只負責「顯示」給使用照噁看。當使用者與程式進行互動時,view 負責通知其他物件。就像資料與 model 的關係一樣,而 veiw 在通知應用程式裡的其他部分之後,不會在乎接下去會發生什麼事情因為他的任務已經結束了。
Controller:
Controller 是 model 與 view 之間的橋樑,內容包含被稱為「業務邏輯」( business logic )的部分,也就是應用程式面對使用者的操作時,該怎麼回應的邏輯。
Controller 至少要回應 model 取得資訊的要求,並將該資訊提供給 view;當 Controller 被 view 告知使用者互動發生時,也負責去通知 model 。
清楚各個物件的職掌,使得專案結構保持清楚,在修改應用程式時也會比較容易。如果使用者想要在應用程式加入其他功能,就應該將此功能的程式碼加入到 Controller 中。