模板方法定义了操作中的算法骨架,将某些步骤掩饰到子类中实现,这样就可以在不改变和算法前提的情况下,重新定义该算法的某些特定步骤。
采用模板方法模式的核心思路是处理某个流程的代码已经具备,但其中某些节点的代码暂时不能确定。此时可以使用模板方法。
在开发中很多地方用到了模板方法
1、数据库的访问,封装
2、JUnit单元测试。
3、Servlet中关于doGet和doPost方法的调用
4、spring中也有大量应用,笔者现在在读Spring源码,到时候会再给大家总结的。
package qf;
abstract class Bank{
public void takeNumber() {
System.out.println("排队取号");
}
public abstract void transact();
public void evaluate() {
System.out.println("反馈、评价");
}
public final void process() {
this.takeNumber();
this.transact();
this.evaluate();
}
}
class Person1 extends Bank{
@Override
public void transact() {
System.out.println("我要存款");
}
}
class Person2 extends Bank{
@Override
public void transact() {
System.out.println("我要取款");
}
}