模版模式,又被稱為模版方法模式,它可以將工作流程進行封裝,並且對外提供了個性化的控制,但主流程外界不能修改,也就是說,模版方法模式中,將工作的主體架構規定好,具體類可以根據自己的需要,各自去實現,這可能會讓我們想到策略模式,兩者有著本質的區別。
1、主流程相同,多個類區別在於主流程中的某個細節不同
2、客戶可以自已實現模版裡的抽象方法
3、對客戶隱藏具體的實現流程(方法的組合的順序)
public abstract class templatejdbc
//鉤子
public abstract object crud(string sql);//使用者自己實現
public void closeconnection()
//第一步:取得連線
getconnection();
//第二部:查詢
object obj=crud(sql);
//第三部:關閉連線
closeconnection();
return obj; }
}
優點:1、封裝不變部分,擴充套件可變部分。 2、提取公共**,便於維護。 3、行為由父類控制,子類實現。
缺點:每乙個不同的實現都需要乙個子類來實現,導致類的個數增加,使得系統更加龐大。
使用場景:1、有多個子類共有的方法,且邏輯相同。 2、重要的、複雜的方法,可以考慮作為模板方法。
模板設計模式 設計模式之模板模式
模板模式,通常又叫做模板方法模式,乙個抽象類公開定義了執行方法的模板,它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方法進行,這種型別的設計模式屬於行為型模式。模板模式主要解決將通用的演算法抽象起來,同樣的 邏輯出現了重複,就可以使用模板模式進行重構。關鍵 在抽象類實現,其他步驟在子類實現...
設計模式之模板設計模式
模板方法模式,定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重新定義該演算法的某些特定步驟。模板方法模式是通過把不變行為搬到超類,去除子類中的重複 來體現它的優勢。當不變和可變的行為在方法的子類實現中混合在一起的時候,不變的行為就會在子類中重複...
設計模式之模板設計模式
在父類中定義好演算法的骨架,然後在子類中去實現。總的來說就是父類中定義需要實現的總方法,然後在子類中去依次實現它 當然根據物件的不同,所實現的具體細節不同。下面來看乙個例子 在父類中我們定義三個抽象的方法job 在子類中去實現它。子類中執行execute方法 job1 如果當前時間能整除2 則執行j...