Template模板模式定义: 定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中.
使用Java的抽象类时,就经常会使用到Template模式,因此Template模式使用很普遍.而且很容易理解和使用。
也许你以前还疑惑抽象类有什么用,现在你应该彻底明白了吧? 至于这样做的好处,很显然啊,扩展性强,以后Benchmark内容变化,我只要再做一个继承子类就可以,不必修改其他应用代码.
使用Java的抽象类时,就经常会使用到Template模式,因此Template模式使用很普遍.而且很容易理解和使用。
package com.zzl.template;
public abstract class Template {
public abstract void doSomtThing();
public final long test(int count){
if(count <= 0){
return 0;
}
long startTime = System.currentTimeMillis();
System.out.println("开始时间:"+startTime);
for(int i = 0;i < count;i++){
doSomtThing();
}
long endTime = System.currentTimeMillis();
System.out.println("结束时间:"+endTime);
return endTime - startTime ;
}
}
package com.zzl.template;
public class MyTemplate extends Template{
@Override
public void doSomtThing() {
long sum = 0;
for(int i = 0;i < 99999999 ; i++){
sum += i;
}
}
}
package com.zzl.template;
public class TestTemplate {
/**
* @param args
*/
public static void main(String[] args) {
Template mTemplate = new MyTemplate();
System.out.println("用时:"+mTemplate.test(1));
}
}也许你以前还疑惑抽象类有什么用,现在你应该彻底明白了吧? 至于这样做的好处,很显然啊,扩展性强,以后Benchmark内容变化,我只要再做一个继承子类就可以,不必修改其他应用代码.
本文通过一个基准测试案例介绍了模板模式的概念及其实现方式。该模式定义了一个算法的骨架,并允许子类提供具体实现。

被折叠的 条评论
为什么被折叠?



