它的應用場景是同乙個介面的不同實現類存在公共**,這樣就可以用模板方法模式將不變部分封裝在模板類中,將可變部分作為抽象方法留給子類中,從而復用頂級邏輯的**。
1、使用模板方法模式統一呼叫外部服務介面
2、使用模板方法模式對外提供的統一介面服務
3、使用模板方法模式實現通知服務
我們可以將固定流程寫到父類中,不同的地方就定義成抽象方法,讓不同的子類去重寫
// 司機開車的模板類
public abstract class driver
public abstract void zishi();
}
現在定義兩個使用模板的司機:
public class newdriver extends driver
}public class olddriver extends driver
}
編寫測試類
public class demo02
}//執行結果
/*開門
點火新司機雙手緊握方向盤
剎車熄火
開門點火
老司機右手握方向盤左手抽菸...
剎車熄火
*/
可以看出,模板模式的優勢是,模板已經定義了通用架構,使用者只需要關心自己需要實現的功能即可!非常的強大! 設計模式 模板設計模式
1 抽象類 abstractclass類中實現了模板方法 template 定義了演算法的骨架,具體子類需要去實現,抽象方法operationr2,3,4 template operationr2,3,4可以是抽象方法,也可以是實現方法 如果是抽象方法,需要到子類實現即可 2 實現類 concret...
模板設計模式 設計模式 模板方法模式
在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...
模板設計模式 設計模式之模板模式
模板模式,通常又叫做模板方法模式,乙個抽象類公開定義了執行方法的模板,它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方法進行,這種型別的設計模式屬於行為型模式。模板模式主要解決將通用的演算法抽象起來,同樣的 邏輯出現了重複,就可以使用模板模式進行重構。關鍵 在抽象類實現,其他步驟在子類實現...