[TOC]
定义
定义了一个操作中的 算法的骨架,而将 部分步骤的实现在子类中完成。模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
模板方法模式需要开发 抽象类和 具体子类的设计师之间的协作。一个设计师负责给出一个算法的 轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。
类图

实例
抽象类:架构师在定义一个抽象类,并提供两个抽象方法。
public abstract class AbstractClass {
    public abstract void  operationA();
    public abstract void  operationB();
    public void templateMethod(){
        operationA();
        operationB();
    }
}
具体类:继承抽象类
public class ConcreteClass extends AbstractClass {
    @Override
    public void operationA() {
        System.out.println("operation A");
    }
    @Override
    public void operationB() {
        System.out.println("operation B");
    }
}
主类:
public class Main {
    public static void main(String args[]){
        AbstractClass templateClass = new ConcreteClass();
        templateClass.templateMethod();
    }
}