設計模式之模板模式

模板模式即在實現之前定義一個可以作爲模板的類。每個實現只需要在這個模板中填寫自己特殊的實現即可。舉個生活中的實例來說:每個人去餐館吃飯要經過以下過;定位餐館 -> 點菜 -> 就餐 -> 付錢。這一系列的操作可以放置在一個模板中,然後選擇具體的餐館,點什麼菜等就可以有其不同的具體實施方式。這裏給出 java 的模板設計

public abstract class Eating {

         public void process() {

                   System.out.println(“first,let’s beging to have supper”);

                   ponitToPlace();

                   System.out.println(“second, order”);

                   order();

                   System.out.println(“third, everyont hava a happy eating”);

                   eating();

                   System.out.println(“last, who hava the pay must do”);

                   pay();

}

 

protected  abstract  void  pointToPlace();

protected  abstract  void  order();

protected  abstract  void  eating();

protected  abstract  void  pay();

}

每個不同的團隊或人有不同的地方去享受他們的午餐或晚餐過程,每個團隊或人只需要繼承 Eating 類,給出自己每一步的具體實現。去什麼地方,點什麼菜,如何吃,誰付錢?

public class MyEating   extends Eating {

         protected void pointToPlace() { System.out.println(“KFC Is my choice”);}

         protected void order(){ System.out.println(“I want to hava a hamburger”);}

         protected void eating() {System.out.println(“good eating”);}

         protected void pay(){ System.out.println(“no one but me can pay”)}

}

許多開發架構或者框架裏面會用到模板模式:比如用戶調用具體業務邏輯需要進行以下處理:登錄驗證 -> 參數驗證 -> 權限驗證 -> 業務調用。由於業務調用作爲主要的實現,我們可以將其他三部分放到模板模式裏面進行順序處理調用。

發佈了30 篇原創文章 · 獲贊 20 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章