1、運用
在定義功能時,功能的一部分是確定的,但是有一部分是不確定的,而確定的部分在使用不確定的部分,那麼這時將不確定部分暴露出去,由該類的子類去完成。
2、建立模板模式步驟
1)定義乙個(或者多個)抽象方法,讓子類去實現;
2)定義並實現乙個模板方法,在模板方法中呼叫抽象方法;
3)建立抽象類的子類,實現對應的抽象方法。
3、示例:
有如下需求:想在伺服器端增加乙個新功能,希望寫乙個方法,能對book物件進行處理,將book物件的所有欄位以xml格式進行包裝,這樣以後可以方便與客戶端進行互動。
為便於**的擴充套件性,便於後期的公升級維護,可以使用模板方法設計模式。因為後期可能有新需求,將book物件以json格式進行包裝,這樣就可以針對不同的要求,由不同的子類去實現。
定義含模板方法的抽象類
public
abstract
class formatter ";
return result;
Java設計模式之模板方法設計模式
較為官方的定義 模板方法設計模式 templete method 定義乙個操作中的演算法的骨架,而將一些可變部分的實現延遲到子類中。模板方法模式使得子類可以不改變乙個演算法的結構即可重新定義該演算法的某些特定的步驟。模板方法設計模式較為簡單,在android中使用的非常常見 所以我們務必認真理解其內...
設計模式 Java設計模式之模板方法模式
本文源自 人生之旅 諳憶的部落格 我們先這樣來想象乙個生活中的場景,就是我們在銀行櫃檯進行辦理業務的時候,會進行這幾步 step1 進門取號 step2 填寫單據 step3 等待叫號 step4 視窗辦理 在這裡,無論是你我還是他 她,都會遵循這個模板進行業務的辦理!我們具體看step2,銀行是無...
JAVA設計模式之 模板方法模式
我們在生活中,很多事情都包含特定的一些步驟。如去銀行辦理業務,通常步驟的次序是 取號 填單 等待叫號 辦理業務。這幾個步驟中,有的是不變的,比如取號,每個人都要取,但有的是要變的,比如都有填單,但是根據不同的業務,填寫的單據不同。又比如我們外出吃飯,一般的步驟是 點餐 等待 吃飯 付錢,也能發現同樣...