模板模式是设计模式的一种。
模板模式的核心有两点:
1.抽象父类。抽象父类即为模板。抽象父类一般为抽象类。
2.具体子类。具体子类集成抽象父类,重新业务方法。
抽象父类中有四种方法:
1.业务方法,业务方法一般为抽象方法,子类必须实现该抽象类。
2.空方法,子类可重写,也可不重写。
3.final方法,子类不可重新。
4.模板方法。模板方法将上述三类方法根据业务逻辑进行组合。
具体子类对业务方法进行重写,空方法根据需要决定是否重写。通过实例化具体子类,应用模板模式。
练习题:
自定义一个程序,计算该程序的运营时间。
//抽象模板
abstract class AbsTemplate{
//业务方法
public abstract void do();
public void out(){
System.out.println("程序开始了");
}
public final long calTime(){
long a=System.currentTimeMillis();
return a;
}
public long templateMethod(){
out();
long startTime=currentTimeMililis();
do();
long endTime=currentTimeMililis();
long b=endTime-startTime;
return b;
}
//具体子类
class sonClass extends AbsTemplate{
public void do(){
for(int i=0;i<100;i++){
System.out.println("程序实现"+i+"%");
}
}