C C 設計模式 十二 模板模式

2021-10-24 12:10:34 字數 1282 閱讀 2993

模板模式(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 的類用於使用者整合。考慮到跨平台,該類的串...