Cocoa 模式

2018-02-24 15:12 更新

委托模式

Tip

委托對(duì)象不應(yīng)該被 retain

實(shí)現(xiàn)委托模式的類應(yīng):

  1. 擁有一個(gè)名為 delegate_ 的實(shí)例變量來引用委托。
  2. 因此,訪問器方法應(yīng)該命名為 delegatesetDelegate:。
  3. delegate_ 對(duì)象不應(yīng)該被 retain

模型/視圖/控制器(MVC)

Tip

分離模型與視圖。分離控制器與視圖、模型?;卣{(diào) API 使用 @protocol。

  • 分離模型與視圖:不要假設(shè)模型或者數(shù)據(jù)源的表示方法。保持?jǐn)?shù)據(jù)源與表示層之間的接口抽象。視圖不需要了解模型的邏輯(主要的規(guī)則是問問你自己,對(duì)于數(shù)據(jù)源的一個(gè)實(shí)例,有沒有可能有多種不同狀態(tài)的表示方法)。
  • 分離控制器與模型、視圖:不要把所有的 “業(yè)務(wù)邏輯” 放進(jìn)跟視圖有關(guān)的類中。這使代碼非常難以復(fù)用。使用控制器類來處理這些代碼,但保證控制器不需要了解太多表示層的邏輯。
  • 使用 @protocol 來定義回調(diào) API,如果不是所有的方法都必須實(shí)現(xiàn),使用 @optional``(特例:使用 Objective-C 1.0 時(shí),``@optional 不可用,可使用類別來定義一個(gè) “非正規(guī)的協(xié)議”)。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)