設計模式C 實現七 模版方法模式

2021-07-02 12:24:06 字數 574 閱讀 9678

模版方法模式(templatemethod):定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模版方法使得子類可以不改變乙個演算法的結構即可重新定義該演算法的某些特定步驟。

模版方法是通過把不變的行為搬移到父類,去除子類中重複的**。模版方法模式是乙個典型的**復用的例子。

應用場景:當在一些子類中會出現一些相同的**,或者一些相同的功能不同的細節時,可以把相同的**定義到父類中,而把相同的功能不同的細節的**可以在父類定義虛函式來實現,而在子類中實現一些自己獨有的功能就可以實現**復用,簡化程式。

#ifndef template_method_h

#define template_method_h

#include#includeusing namespace std;

class test*****

;void test*****::testquestion1()

{ cout << "楊過得到,後來給了郭靖,練成了倚天劍,屠龍刀的玄鐵可能是()\n";

cout << "a.球磨鑄鐵 b.馬口鐵 c.高速合金鋼 d.碳素纖維\n";

cout << answer1()<

七 模版方法模式

模版方式模式 template method mode 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法似的子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定的步驟。換句話說,就是當不變的和可變的行為在方法的子類實現中混合在一起的時候,不變的行為就會在子類中重複出現。我們可以...

設計模式(七) 模版模式

乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。咖啡沖泡流程 1 把水煮沸 2 用沸水沖泡咖啡 3 把咖啡倒進杯子 4 加糖和牛奶 茶葉沖泡流程 1 把水煮沸 2 用沸水浸泡茶葉 3 把茶倒進杯子 4 加檸檬 兩個流程中...

設計模式七 模版模式

定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。重點不是選擇,只能 重定義 該演算法的某些特定的步驟。這裡場景模擬 jdbctemplate public class jdbctemplate 方法封裝 private connection getconnection throws sqle...