模板方法屬於屬於行為型模式
定義:定義乙個操作中的演算法骨架,將一些步驟延遲到子類中實現。
優點:使得子類可以不改變乙個演算法的結構,就可以重定義改演算法的某些特定的步驟,將不變的行為移動到父類,用於去除子類中的重複**,提供了乙個很好的**復用平台。
場景栗子:連線裝置的分為tcp和串列埠連線
**:
#include using namespace std;
class iconnect
cout << "連線成功" << endl;
return 0;
}protected:
virtual void configargs() = 0;
virtual bool connect() = 0;
};class tcpconnect : public iconnect
virtual bool connect() };
class uartconnect : public iconnect
virtual bool connect() };
//客戶端
int main()
return 0;
}
輸出效果:
c 設計模式之模板方法模式
模板方法模式是指在乙個方法中定義乙個演算法的骨架,將一些步驟延遲到子類中 模板方法使得子類可以在不改變演算法結構的情況下,重新定義演算法中的某些步驟 抽象方法由子類實現 這樣可以確保演算法的結構不變,由子類提供部分實現 策略模式和模板方法模式都封裝演算法,乙個用組合,乙個用繼承 測試 include...
設計模式之模板方法模式(C )
模板方法模式,定義乙個操作中的演算法的股價,而將一些步驟延遲到了子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。說白了就是有乙個演算法有很多部分,這個演算法在基類中已經定義好了。而演算法中的各個部分都寫成各個成員函式了。然後在子類中可以覆蓋這些成員函式,從而實現不...
設計模式之模板方法模式例項(c )
定義乙個操作中演算法的骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。模板方法模式包含abstractclass 抽象類 和concreteclass 具體類 具體方法或者是鉤子方法 從類圖可知,結構比較簡單,process函式為模板方法,...