C 設計模式(三)模板方法

2021-10-07 12:09:26 字數 1120 閱讀 3188

重構書籍

《重構-----改善既有**的設計》

《重構與設計 recfactoring to patterns》

//庫開發程式設計師

class

library

void

step3()

void

step5()

};

//應用程式開發人員

class

void

step4()

};intmain()

for(

int i =

0; i <

4; i++

)}

//程式庫開發人員

class

library

for(

int i =

0; i <

4; i++

)step5()

;}virtual

~library()

protected

:void

step1()

void

step3()

void

step5()

virtual

bool

step2()

=0;//變化

virtual

void

step4()

=0;//變化

};

//應用程式開發人員

class

:public library

virtual

void

step4()

};intmain()

定義乙個操作中的演算法的骨架(穩定),而將一些步驟延遲(變化)到子類中。template method使得子類可以不改變(復用)乙個演算法的結構即可重定義(override重寫)該演算法的某些特定步驟。 ----《設計模式》gof

使用template method使用必須有乙個穩定的主流程。

設計模式三 模板方法模式

定義乙個操作中的演算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變乙個演算法的結構既可以重定義該演算法的某些特定步驟 抽象模板類 public abstract class abstractclass 具體模板類 public class concreteclass1 extends abs...

C 設計模式 模板方法模式

模板方法模式 應用廣泛的模式 一 意圖 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法結構即可重定義該演算法的某些特定步驟。二 作用 三 使用技巧 先抽象出乙個類,寫出一些抽象行為放到子類中實現,寫乙個模板方法,推遲到子類實現。四 特點 優點 不用再抄一...

《C 設計模式》 模板方法模式

模板方法模式 提到模板我們經常會想到簡歷模板 ppt模板等,以簡歷模板為例,不同的人可以使用一樣的簡歷模板,在填充內容時根據自己的名字 工作經歷等填寫自己的內容,從而形成不同的簡歷。在oo中模板方法模式和現實中的模板十分相似,首先要有乙個封裝了不可變部分的抽象類 簡歷的大致結構,都有姓名 性別 年齡...