/**
* @author
* @version 0.1
* 模板設計模式 -- 時間消耗模板
* 使用該模板測試方法的執行時間
*/public abstract class timeexpendtemplate
}
/**
* 建立timeexpendtemplatetest類繼承timeexpendtemplate模板,
* 重寫method的方法,例項化後呼叫父類的runmethod方法,
* 在控制台輸出method方法執行消耗的時間
* @author
* @version 0.1
*/public class timeexpendtemplatetest extends timeexpendtemplate
if (i == 1)
return getvalue(i-1)+getvalue(i-2);
}/**
* 重寫父類method方法
*/@override
public void method()
public static void main(string args)
}
執行結果:9137(每次執行結果或許不同)
模板方法模式其實是利用抽象類來設計程式的骨架,將具體的部分留給子類實現,呼叫父類的方法執行子類實現的方法並完成一些額外的功能,如列印消耗時間等
1 模板方法模式
晚繫結機制 定義乙個操作中的演算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。使用場景 1.多個子類有公有的方法,且邏輯基本相同時 2.重要,複雜的演算法,可以把核心演算法設計為模板方法,周邊的相關細節功能則由各個子類實現 3.重構時,把相同...
行為型模式(1) 模板方法模式
行為型模式用於描述程式在執行時複雜的流程控制,即描述多個類或物件之間怎樣相互協作共同完成單個物件都無法單獨完成的任務,它涉及演算法與物件間職責的分配。行為型模式分為類行為模式和物件行為模式,前者採用繼承機制來在類間分派行為,後者採用組合或聚合在物件間分配行為。由於組合關係或聚合關係比繼承關係耦合度低...
B1 模板方法模式 TemplateMethod
定義乙個操作中的演算法骨架,而將一些步驟延遲到子類中.模板方法使得子類可以不改變乙個演算法的結構即可重新定義該演算法的某些特定步驟 應用場景 a.操作步驟穩定,而具體細節延遲到子類.示例 所有的商品類在使用者購買前,都需要給使用者顯示出最終支付的費用.但有些商品需要納稅,有些商品可能有打折.abst...