A:模版设计模式概述
* 模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现
* B:优点和缺点
* a:优点
* 使用模版方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求
* b:缺点
* 如果算法骨架有修改的话,则需要修改抽象类
如下这个案例,我想要定义一个模板计算开始到结束的时间差,但是我不知道要计算什么东西,这时就可以定义一个抽象类,把执行的过程写好,让子类重写过程方法,这样就不用修改骨架代码,需要计算什么写个实现类去实现就可以了.
package com.heima.模版方法设计模式;
public class Demo1_Template {
/**
* @param args
*/
public static void main(String[] args) {
/*long start = System.currentTimeMillis();
for(int i = 0; i < 1000000; i++) {
System.out.println("x");
}
long end = System.currentTimeMillis();
System.out.println(end - start);*/
Demo d = new Demo();
System.out.println(d.getTime());
}
}
abstract class GetTime {
public final long getTime() {
long start = System.currentTimeMillis();
code();
long end = System.currentTimeMillis();
return end - start;
}
public abstract void code();
}
class Demo extends GetTime {
@Override
public void code() {
int i = 0;
while(i < 100000) {
System.out.println("x");
i++;
}
}
}