一、意圖
定義乙個操作中的演算法骨架,而將一些步驟延遲到子類中。templatemethod使得子類可以不改變乙個演算法的結構即可定義該演算法的某些特定步驟。
二、適用性
三、結構
四、**
public
abstract
class car
protected
abstract
void
lighter();
protected
abstract
void
opendoor();
}
public
class
sedan
extends
car
@override
protected
void
opendoor()
}
public
class client
}結果:
轎車: 開啟車門
轎車:點火
行為型模式 模板方法
結構圖 模式說明 1.擴充套件點在抽象類abstractclass的實現子類。2.每乙個實現子類實現一種抽象方法的演算法實現,子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。3.客戶端可以替換不同的子類實現。4.定義乙個操作的演算法骨架,而將一些步驟延遲到子類中實現,模板方法使得子類...
行為型模式 模板方法
定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中,使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。模板方法 template method 是乙個比較簡單的模式。它的主要思想是,定義乙個操作的一系列步驟,對於某些暫時確定不下來的步驟,就留給子類去實現好了,這樣不同的子類就可...
設計模式 行為型 模板方法模式
定義演算法框架,將一些步驟的實現延遲至子類,就是說把實現某一些功能會有一些重複的共有的步驟,放在公共的類中,將 不同的細節由其子類實現,例如炒菜,都要切菜,放油,和炒菜,但炒不同的菜需要放不同的調味料 定義乙個抽象類,將公共的方法提取出來構建模板方法,不同的則由其子類實現 create by hji...