1. 模板方法设计模式
![模板方法设计模式](https://img-blog.csdnimg.cn/20200517141257420.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQxMTY3MQ==,size_16,color_FFFFFF,t_70)
2. 代码实现模板方法设计模式
public class TemplateTest {
public static void main(String[] args) {
Template t = new T();
t.spendTime();
}
}
/*
* 该类是用来计算某段代码的执行时间,由于该段代码是不确定的, 所以该段代码需要设置为抽象方法,其余的可以设置为已实现的方法
*/
abstract class Template {
// 该方法的整体功能步骤已经确定,只是需要计算运行时间的代码未知。
public void spendTime() {
long start = System.currentTimeMillis();
code();
long end = System.currentTimeMillis();
System.out.println("运行时间为" + (end - start));
}
// 由于需要测是的代码是未知,所以将这个方法设置为抽象方法,供子类实现
public abstract void code();
}
class T extends Template {
/*
* 子类实现code方法,来确定计算那段代码执行的时间。
*/
@Override
public void code() {
int sum = 0;
for (int i = 0; i < 1000000; i++) {
sum = sum + i;
}
}
}
3. 模板方法设计模式的应用
![模板方法设计模式](https://img-blog.csdnimg.cn/20200517144017106.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjQxMTY3MQ==,size_16,color_FFFFFF,t_70)
4. 模板方法设计模式知识点
使用了java抽象类、抽象方法的特点。