行為型模式之模板模式實現

2021-08-02 13:16:14 字數 879 閱讀 6455

模板方法模式是行為型模式之一,它把具有特定步驟演算法中的某些必要的處理委讓給抽象方法,通過子類繼承對抽象方法的不同實現改變整個演算法的行為。

模板模式一般應用在具有以下條件的應用中:

具有統一的操作步驟或操作過程;

具有不同的操作細節;

存在多個具有統一操作步驟的應用場景,但某些具體的操作細節卻各不相同。

總結:在抽象類中統一操作步驟,並規定好介面;讓子類實現介面。這樣可以把各個具體的子類和操作步驟解耦合。

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 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。意圖 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構...