模版方法設計模式
首先要說一下我為什麼要寫這個設計模式呢?因為我在聽security這門課的時候涉及到了大體如下
懵逼不,反正我第一次看的時候是比較懵逼的,所以我特意寫了這篇文章來由淺入淺的方式來講解一下。
我們再來看一個簡單的圖:
透過上圖我們不難看出,大體意思就是把動作抽象出來(激動,大學聽抽象這次一臉懵逼,我今天居然能自己講了!),一會我們就開個車,好好講一把。抽象出來之後由子類繼承並實現,然後父類再調取子類的實現。這點就符合架構師的一條原則了 “以增量的方式去實現修改”,意思大概就是在不改原有程式碼的基礎下去增加新的程式碼,就能達到自己目。
好處顯而易見: 重用性更高
來,來,來 車子開起來
public abstract class Abstract { //模板方法,上廁所之小便流程的流程 //申明為final,不希望子類覆蓋這個方法,防止更改流程的執行順序 final void washroom(){ this.go(); //第一步:走到廁所 this.takeOff(); //第二步:脫褲子 this.urinate() //第三步:尿 this.dress() //第四步:提褲子 this.out() //第五步:出廁所 //定義結構裡哪些方法是所有過程都是一樣的可複用的,哪些是需要子類進行實現的 //第一步:走到廁所是一樣的,所以直接實現 void go(){ System.out.println("走著,上廁所去"); } //第二步:同理 void takeOff(){ System.out.println("脫褲子,準備開始"); } //第三步:重點來了,男生是站立而尿(別扯犢子你也想蹲下或者坐下)女生則是蹲著所以這裡不同,我們要抽象這個方法 abstract void urinate(); //第四步:同理 直接實現 void dress();{ System.out.println("提上我的小褲子"); } //第五步:同理 直接實現 void out();{ System.out.println("尿完收工"); } } //男生尿的類 public class boy_biubiu extend Abstract { @Override public void urinate(){ System.out.println("掏槍發射,戰一個昏天黑地"); } }//女生尿的類 public class girls_biubiu extend Abstract { @Override public void urinate(){ System.out.println("頷首低眉,來一個水淹七軍"); } } public class Template Method{ public static void main(String[] args){ //男生上廁所 boy_biubiu boy= new boy_biubiu (); boy.washroom(); //女生上廁所 girls_biubiu girls= new girls_biubiu (); girls.washroom(); } } result: 走著,上廁所去 脫褲子,準備開始 掏槍發射,戰一個昏天黑地 提上我的小褲子 尿完收工 走著,上廁所去 脫褲子,準備開始 頷首低眉,來一個水淹七軍 提上我的小褲子 尿完收工
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/3549/viewspace-2810064/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 設計模式——模版方法模式設計模式
- 設計模式第一講-模版方法模式設計模式
- 【java設計模式】(10)---模版方法模式(案例解析)Java設計模式
- Head First 設計模式 —— 09. 模版方法 (Template Method) 模式設計模式
- 人人都會設計模式—模版方法模式–Template-Method設計模式
- 設計模式DP-模版模式設計模式
- 15.模版模式設計思想模式
- 「補課」進行時:設計模式(3)——和做菜一樣簡單的模版方法模式設計模式
- 設計模式-模板方法模式設計模式
- 23種設計模式(四)- 模板方法設計模式設計模式
- 【設計模式】工廠方法模式設計模式
- 設計模式-工廠方法模式設計模式
- 設計模式之【模板方法模式】設計模式
- 設計模式之模板方法模式設計模式
- 設計模式~~~工廠方法模式設計模式
- Java設計模式-模板方法模式Java設計模式
- 設計模式 - 工廠方法模式設計模式
- python設計模式-模板方法模式Python設計模式
- js設計模式--模板方法模式JS設計模式
- 模板方法設計模式設計模式
- 《Head First 設計模式》:模板方法模式設計模式
- PHP設計模式之模板方法模式PHP設計模式
- 極簡設計模式-模板方法模式設計模式
- 簡說設計模式——模板方法模式設計模式
- 設計模式實戰-模板方法模式設計模式
- java設計模式-工廠方法模式Java設計模式
- python設計模式-工廠方法模式Python設計模式
- 設計模式之工廠方法模式設計模式
- 工廠方法--設計模式設計模式
- 設計模式之模板方法設計模式
- 《設計模式七》備忘錄、模板方法、狀態模式及設計模式設計總結設計模式
- 掌握設計模式之工廠方法模式設計模式
- Java描述設計模式(19):模板方法模式Java設計模式
- 《Head First 設計模式》:工廠方法模式設計模式
- Java設計模式之(十三)——模板方法模式Java設計模式
- Java設計模式(二):工廠方法模式Java設計模式
- 設計模式(三)抽象工廠方法模式設計模式抽象
- 設計模式筆記---工廠方法模式設計模式筆記