一、模版设计模式能解决以下问题
1)功能内部一部分是实现的,一部分是不确定的,这时可以把不确定的部分暴露出去,让子类去实现
2)编写一个抽象父类,父类提供多个子类的通用方法,并把一个或多个方法留给子类实现,就是一种模版模式
二、代码实现
java
package TemplateModel;
public class TemplateModel01 {
/* 需求
* 1.有多个类完成不同的任务*/
public static void main(String[] args) {
new AA().cal();
new BB().cal();
}
}
class AA extends Template{
/*public void cal(){
// 开始时间
long start = System.currentTimeMillis();
job();
// 结束时间
long end = System.currentTimeMillis();
System.out.println("执行时间"+ (end - start));
}*/
public void job(){
long n = 0;
for (long i = 1; i < 800000; i++){
n += i;
}
}
}
class BB extends Template{
/*public void cal(){
// 开始时间
long start = System.currentTimeMillis();
job();
// 结束时间
long end = System.currentTimeMillis();
System.out.println("执行时间"+ (end - start));
}*/
public void job(){
long n = 0;
for (long i = 1; i < 10000000; i++){
n += i;
}
}
}
// 改进方案
abstract class Template{
public abstract void job();
public void cal(){
// 开始时间
long start = System.currentTimeMillis();
job();
// 结束时间
long end = System.currentTimeMillis();
System.out.println("执行时间"+ (end - start));
}
}