定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中,使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。模板方法(template method)是乙個比較簡單的模式。它的主要思想是,定義乙個操作的一系列步驟,對於某些暫時確定不下來的步驟,就留給子類去實現好了,這樣不同的子類就可以定義出不同的步驟。
因此,模板方法的核心在於定義乙個「骨架」。我們還是舉例說明。
假設我們開發了乙個從資料庫讀取設定的類:
public class setting
private string readfromdatabase(string key)
}
public class setting {
public final string getsetting(string key) {
// 先從快取讀取:
string value = lookupcache(key);
if (value == null) {
// 在快取中未找到,從資料庫讀取:
value = readfromdatabase(key);
行為型模式 模板方法
結構圖 模式說明 1.擴充套件點在抽象類abstractclass的實現子類。2.每乙個實現子類實現一種抽象方法的演算法實現,子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。3.客戶端可以替換不同的子類實現。4.定義乙個操作的演算法骨架,而將一些步驟延遲到子類中實現,模板方法使得子類...
模板方法 類行為型模式
一 意圖 定義乙個操作中的演算法骨架,而將一些步驟延遲到子類中。templatemethod使得子類可以不改變乙個演算法的結構即可定義該演算法的某些特定步驟。二 適用性 三 結構 四 public abstract class car protected abstract void lighter ...
設計模式 行為型 模板方法模式
定義演算法框架,將一些步驟的實現延遲至子類,就是說把實現某一些功能會有一些重複的共有的步驟,放在公共的類中,將 不同的細節由其子類實現,例如炒菜,都要切菜,放油,和炒菜,但炒不同的菜需要放不同的調味料 定義乙個抽象類,將公共的方法提取出來構建模板方法,不同的則由其子類實現 create by hji...