行為型之十-模板方法

Template Method(模板方法)

定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中磨德。模板方法使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟豁鲤。

當(dāng)我們要完成在某個(gè)細(xì)節(jié)層次一致的一個(gè)過程或者一系列步驟茎杂,但是其個(gè)別步驟的更詳細(xì)的層次上實(shí)現(xiàn)可能不同時(shí),我們通忱砼欤考慮用模板方法模式來處理逞力。

VC.h

//HCDtextpaper定義了兩個(gè)問答題的不變部分(題目),子類定義了變化部分(答案)糠爬。
HCDtextPaper *paperA = [[HCDtextPaperA alloc]init];
[paperA testQuestion1];
[paperA testQuestion2];
HCDtextPaper *paperB = [[HCDtextPaperB alloc]init];
[paperB testQuestion1];
[paperB testQuestion2];

HCDtextPaper.h // 基類

@interface HCDtextPaper : NSObject
- (void)testQuestion1;
- (NSString *)answer1;
- (void)testQuestion2;
- (NSString *)answer2;
@end

HCDtextPaper.m

@implementation HCDtextPaper
-(void)testQuestion1{
    NSLog(@"問題:楊過得到寇荧,后來給了郭靖,煉成倚天劍执隧、屠龍刀的玄鐵可能是[ ]:a.球磨鑄鐵 b.馬口鐵 c.高速合金鋼 d.碳素纖維");
    NSLog(@"答案:%@", [self answer1]);
}
-(NSString *)answer1{
    return nil;
}
-(void)testQuestion2{
    NSLog(@"問題:楊過揩抡、程英、陸無雙鏟除了情花殴玛,造成[ ]:a.使這種植物不再害人 b.使一種珍稀物種滅絕 c.破壞了那個(gè)生物圈的生態(tài)平衡 d.造成該地區(qū)沙漠化");
    NSLog(@"答案:%@", [self answer2]);
}
-(NSString *)answer2{
    return nil;
}
@end

HCDtextPaperA.m // 子類A

@implementation HCDtextPaperA
-(NSString *)answer1{
    return @"b";
}
-(NSString *)answer2{
    return @"c";
}
@end

設(shè)計(jì)圖

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末捅膘,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子滚粟,更是在濱河造成了極大的恐慌寻仗,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凡壤,死亡現(xiàn)場離奇詭異署尤,居然都是意外死亡耙替,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門曹体,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俗扇,“玉大人,你說我怎么就攤上這事箕别⊥模” “怎么了?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵串稀,是天一觀的道長除抛。 經(jīng)常有香客問我,道長母截,這世上最難降的妖魔是什么到忽? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮清寇,結(jié)果婚禮上喘漏,老公的妹妹穿的比我還像新娘。我一直安慰自己华烟,他們只是感情好翩迈,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著垦江,像睡著了一般帽馋。 火紅的嫁衣襯著肌膚如雪搅方。 梳的紋絲不亂的頭發(fā)上比吭,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音姨涡,去河邊找鬼衩藤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛涛漂,可吹牛的內(nèi)容都是我干的赏表。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼匈仗,長吁一口氣:“原來是場噩夢啊……” “哼瓢剿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起悠轩,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤间狂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后火架,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鉴象,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡忙菠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了纺弊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牛欢。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖淆游,靈堂內(nèi)的尸體忽然破棺而出傍睹,到底是詐尸還是另有隱情,我是刑警寧澤犹菱,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布焰望,位于F島的核電站,受9級(jí)特大地震影響已亥,放射性物質(zhì)發(fā)生泄漏熊赖。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一虑椎、第九天 我趴在偏房一處隱蔽的房頂上張望震鹉。 院中可真熱鬧,春花似錦捆姜、人聲如沸传趾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浆兰。三九已至,卻和暖如春珊豹,著一層夾襖步出監(jiān)牢的瞬間簸呈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工店茶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蜕便,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓贩幻,卻偏偏與公主長得像轿腺,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子丛楚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容