模板模式(template method模式),是行為模式之一,它把具有特定步驟演算法中的某些必要的處理委讓給抽象方法,通過子類繼承對抽象方法的不同實現改變整個演算法的行為。
template method模式一般應用在具有以下條件的應用中:
1.具有統一的操作步驟或操作過程
2.具有不同的操作細節
3.存在多個具有同樣操作步驟的應用場景,但某些具體的操作細節卻各不相同
總結:在抽象類中統一操作步驟,並規定好介面;讓子類實現介面。這樣可以把各個具體的子類和操作步驟接耦合。
抽象類的父類
concreteclass:
具體的實現子類
templatemethod():
模板方法
method1()與method2():
具體步驟方法
#include using namespace std;
class makecar
protected:
private:
};class makebus : public makecar
virtual void makebody()
virtual void maketail()
protected:
private:
};class makejeep : public makecar
virtual void makebody()
virtual void maketail()
protected:
private:
};void main()
{ makecar *bus = new makebus;
//bus->makehead();
//bus->makebody();
//bus->maketail();
bus->make();
makecar *jeep = new makejeep;
//jeep->makehead();
//jeep->makebody();
//jeep->maketail();
jeep->make();
delete bus;
delete jeep;
cout<
設計模式之十二模板模式
模式介紹 1 模板方法模式 template method pattern 又叫模板模式 template pattern z 在乙個抽象類公開定義了執行它的方法的模板。它的子類可以按需要重寫方法 實現,但呼叫將以抽象類中定義的方式進行。2 簡單說,模板方法模式 定義乙個操作中的演算法的骨架,而將一...
設計模式(二十二)模板模式
在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。意圖 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構...
學習筆記 C C 設計模式 模板模式
模板設計模式是一種非常簡單的設計模式,其主要是利用了虛函式的特性實現。非常適合應用在一些演算法 流程 業務邏輯是固定的形式,其中某些步驟的實現方式又無法確定下來的場景。以下為模擬某晶元基於串列埠通訊的韌體公升級 可以提供乙個 firmwareupgrade 的類用於使用者整合。考慮到跨平台,該類的串...