設計模式IOS篇 第二章 委託模式

2022-09-06 19:45:09 字數 1334 閱讀 4085

委託模式從設計模式中的裝飾模式,介面卡模式,模板方法模式演變過來

現在來看看ios版的是怎樣的,先說說乙個場景:

現在有一家公司,他們接到乙個專案,專案的(project),專案需要有一些懂j**a的程式設計師來編寫j**a,意思就是委託一些j**a程式設計師去完成這個專案(j**aprogrammerprotocol)

下面這段**就像是乙個j**a工程師的委託書,誰繼承了,表示誰有這個資格編寫j**a(呼叫writingj**a方法)

//

j**a委託,如果這個委託有另外乙個類可以寫到另外乙個類,如果沒有可以跟隨在一些類裡面

@protocol

j**aprogrammerprotocol

@required

-(void

)writingj**a;

@end

下面這部分代表有乙個專案,是要編寫j**a的人(繼承j**aprotocol)的類,當某程式設計師承認為會j**a的人,就必須告知自己將會為這個專案編寫j**a部分(必須在例項化後,設定j**aprotocol的委託者)

//

project.**件內容

#import

@inte***ce

project : nsobject

@property(nonatomic)

idj**aprotocol;

-(void

)projectstart;

@end

檔案內容

#import

"project.h

"@implementation

project

-(void

)projectstart

}@end

下面為程式設計者,乙個懂j**a程式設計的人(j**aprogrammerprotocol)

//

programmer.**件內容

#import

#import

"project.h

"@inte***ce programmer : nsobject@end

檔案內容

#import

"programmer.h

"@implementation

programmer

-(id

)init

return

self;}//

由project呼叫

-(void

)writingj**a

@end

最好,這個**會呼叫writingj**a方法,列印出"start to writing j**a"字樣。

第二章 工廠設計模式

簡單 public class catpublic class dog簡單工廠對外輸出 public class factory public static cat getcat 呼叫抽象工廠生產物件 public class main 簡單工廠的缺點 步驟public inte ce factor...

第二章 Cach 設計模式 策略模式

思考 示例 可以隨意組合招數,增加三次打擊方法threefighting 而 工廠方法則需要呼叫三次。class pha.yx.design.strategy.context extends registeredobject method fighting method threefighting ...

大話設計模式 第二章 策略模式

策略模式 strategy 它定義了演算法家族,分別封裝起來,讓他們之間可以相互替換,此模式讓演算法的變化,不會影響到試用演算法的客戶。1,定義現金抽象類 現金父類 public abstract class cashsuper 2,定義各個演算法類,全部繼承自現金父類 view code 沒有活動...