一、模版设计模式能解决以下问题
1)功能内部一部分是实现的,一部分是不确定的,这时可以把不确定的部分暴露出去,让子类去实现
2)编写一个抽象父类,父类提供多个子类的通用方法,并把一个或多个方法留给子类实现,就是一种模版模式
二、代码实现
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));}
}