介紹iPhone系統的KVC,KVO機制

MVC模式(Module - View - Controller)

 

      MVC架構是"Model-View-Controller"的縮寫,中文翻譯爲"模式-視圖-控制器"。MVC應用程序總是由這三個部分組成。Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數據或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數據來刷新自己。

  

  MVC架構最早是smalltalk語言研究團提出的,應用於用戶交互應用程序中。

 

  MVC模式是一個複雜的架構模式,其實現也顯得非常複雜。但是,我們已經總結出了很多可靠的設計模式,多種設計模式結合在一起,使MVC模式的實現變得相對簡單易行。Views可以看作一棵樹,顯然可以用Composite Pattern來實現。Views和Models之間的關係可以用Observer Pattern體現。Controller控制Views的顯示,可以用Strategy Pattern實現。Model通常是一個調停者,可採用Mediator Pattern來實現。

 

KVO機制

 

  KVO是基於KVC而實現的觀察者模型(Observer Pattern),主要是基於開發人員對於膠水代碼”痛恨。關於KVC/KVO機制的分析參考文章:http://www.cocoadev.cn/Cocoadev/KVO-20100222-0627.asp 。本文介紹一下簡單的運用。

 

  其實在其他系統開發中也廣泛的引進了MVC的模式,比如Symbian S60系統。但是對於KVC、KVO機制,本人是極力推崇的。這個觀察者模型的引進極大的解放了開發人員。

 

  但是在修改類的對象的時候務必使用能觸發KVO的方式修改參數(比如 setValue 或者Objectives-C 2.0所支持的屬性操作)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章