模版方法模式就是定義乙個骨架,具體做什麼操作由子類實現,比如我想測試某個方法執行使用的時間,記錄時間的**是固定的,變的只是不同的要測試方法(如新增,刪除,修改),所以我們可以定義乙個抽象類,提供乙個抽象方法,是測試新增還是刪除由子類決定。
定義模版類demo,有乙個抽象方法executemethod(),再提供乙個計算時間的方法gettime()
public abstract class demo
}
測試新增需要的時間,新建乙個類繼承demo重寫executemethod()方法
public class addclass extends demo
}}
如果想測試刪除需要的時間,那就再建乙個測試刪除時間的類,不管測試哪些方法,我們使用的都是乙個計算時間的方法( demo類中的gettime()方法 )
public class delclass extends demo
}}
為防止方法執行過快看不出效果,這裡迴圈了10000000次
測試類
public class test
}
控制台輸出
呼叫新增方法。。。
新增使用4毫秒
呼叫新增方法。。。
刪除使用3毫秒
Java模版方法模式
設計模式複習,是最好的說明。定義 模版方法模式定義乙個操作中的演算法框架,而將一些步驟延遲到子類中,使得子類可以不改變演算法的結構即可重定義該演算法中的某些特點步驟,屬於行為類模式。這裡放乙個泡茶的例子 為子類提供乙個演算法框架 public abstract class refreshbevera...
Java設計模式09 模版方法模式
出處 定義 定義乙個操作中演算法的框架,而將一些步驟延遲到子類中,使得子類可以不改變演算法的結構即可重定義該演算法中的某些特定步驟。型別 行為類模式 類圖 事實上,模版方法是程式設計中乙個經常用到的模式。先來看乙個例子,某日,程式設計師a拿到乙個任務 給定乙個整數陣列,把陣列中的數由小到大排序,然後...
java設計模式之模版方法
我們往往遇見一些問題我們知道它的解決流程,或者說是大概的思路,但是我們不知道它的具體的實現.就像我們的tomcat針對發起的http請求,它知道請求的流程,但是不知道具體邏輯和返回資料,這樣我們繼承了它的httpservlet類,實現它們的doget方法和dopost方法.實現我們需要實現的具體細節...