模板方法模式是行為型模式之一,它把具有特定步驟演算法中的某些必要的處理委讓給抽象方法,通過子類繼承對抽象方法的不同實現改變整個演算法的行為。
模板模式一般應用在具有以下條件的應用中:
具有統一的操作步驟或操作過程;
具有不同的操作細節;
存在多個具有統一操作步驟的應用場景,但某些具體的操作細節卻各不相同。
總結:在抽象類中統一操作步驟,並規定好介面;讓子類實現介面。這樣可以把各個具體的子類和操作步驟解耦合。
abstractclass:抽象類的父類;
concreteclass:具體的實現子類;
templatemethod():模板方法;
method1()與method2():具體步驟方法
#include
using
namespace
std;
class makecar
};class makebus:public makecar
virtual
void makebody()
virtual
void maketail()
};class makejeep:public makecar
virtual
void makebody()
virtual
void maketail()
};int main(void)
行為型模式 模板模式
抽象模板類 一樣的步驟就不用寫成抽象類,燒開水 倒入杯中,都是一樣的 class beverage virtual void brew 0 步驟2 void pourincup 步驟3 virtual void addcondiments 0 步驟4 void make 泡咖啡的具體實現 class...
行為型模式 模板模式
本文參考菜鳥教程和thinkwon的單例模式講解 在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。意圖 定義乙個操作中的演算法的骨架,而將一些步驟延遲到...
設計模式 》模板模式(行為型模式)
在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。意圖 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構...