模板方法含義
模板方法模式是面向?qū)ο筌浖O(shè)計(jì)中一種非常簡單的設(shè)計(jì)模式。其基本思想是:定義一個(gè)操作中算法的骨架豁陆,而將一些步驟延遲到到子類中柑爸。模板方法使子類可以重定義算法的某些特定步驟而不改變算法的結(jié)構(gòu)。
模板方法優(yōu)點(diǎn)
- 不變的行為算法在父類盒音,可變的行為在子類實(shí)現(xiàn)表鳍。即:去除了重復(fù)代碼;有助于算法的擴(kuò)展祥诽,用一個(gè)調(diào)用這些操作的模板方法來替換父類的代碼譬圣。
- 可以控制子類的擴(kuò)展。可以定義一個(gè)特定點(diǎn)調(diào)用“鉤子”操作的模板方法雄坪。子類可以通過對鉤子操作的實(shí)現(xiàn)在這些點(diǎn)擴(kuò)展功能厘熟。鉤子操作給出了默認(rèn)行為,子類可對其進(jìn)行擴(kuò)展维哈。默認(rèn)行為通常什么都不做绳姨。子類可以重載這個(gè)方法,為模板方法提供附加的操作阔挠。
模板方法缺點(diǎn)
- 每個(gè)不同的實(shí)現(xiàn)都需要定義一個(gè)子類飘庄,這會導(dǎo)致類的個(gè)數(shù)的增加,設(shè)計(jì)更加抽象购撼。
- 控制子類擴(kuò)展跪削,子類必須遵守算法規(guī)則。
模板方法特點(diǎn)
模板方法模式中的控制結(jié)構(gòu)流程是倒轉(zhuǎn)的迂求,因?yàn)楦割惖哪0宸椒ㄕ{(diào)用其子類的操作切揭,而不是子類調(diào)用父類的操作。
_本站文章為【寶寶巴士 SuperDo.preacher】原創(chuàng)锁摔,轉(zhuǎn)載務(wù)必在明顯處注明:(作者官方網(wǎng)站: 寶寶巴士 ) _
轉(zhuǎn)載自【寶寶巴士SuperDo團(tuán)隊(duì)】原文鏈接: http://www.reibang.com/p/390c06e4dc81