主要採用抽象類實現,遵循開閉原則,對修改關閉,對擴充套件開放。
比如飲品製作,都必須要遵循一套大致相同的流程:
1.燒水
2.沖泡主料
3.加配料
4.倒入杯子
雖然大致流程相同,但是主料的選擇、配料的選擇都有所不同。
所以將這套流程採用抽象類中的抽象方法寫出來。
然後在具體製作時,根據流程指南完成具體製作。
public
abstract
class
drinkproduction
//定義流程
void
boilwater()
abstract
void
brew()
;abstract
void
addcondiments()
;void
pourintoglass()
}
//製作茶水
class
producttea
extends
drinkproduction
@override
void
addcondiments()
}//製作咖啡
class
productcoffee
extends
drinkproduction
@override
void
addcondiments()
}
*測試類
public
class
templatedesignpattern
}
1.有父類模板類的存在,可以控制流程讓子類嚴格執行
2.最大程度的實現**復用
JAVA 設計模式之模板模式
模板模式 提供通用模板,高度抽象將通用演算法封裝,暴露子類物件特有演算法重寫。簡述直接上demo 通用模板類 package com.coamc.android.api.template version v 2.0.0 title bankte package com.coamc.android.a...
java設計模式之模板模式
模板模式是類的行為模式。準備乙個抽象類,將部分邏輯以具體方法以及具體建構函式的形式實現,然後宣告一些抽象方法來迫使子類實現剩餘的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩餘的邏輯有不同的實現。這就是模板方法模式的用意。比如定義乙個操作中的演算法的骨架,將步驟延遲到子類中。模板方法使得...
Java設計模式之模板模式
從名字上看模板模式與元型模式有點像,但實際上它們有很大的不同。元型模式是建立系列中的模式,它的實現是先為類建立乙個例項,然後對這個例項進行初化,並當成是元型。以後再需要這個類的例項時,不再是從頭開始new,而是從已有的元型clone。當然,元型可能不只乙個,這個時候就要用集合類進行管理了,在clon...