定义
定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
类图
代码
public class TemplatePattern {
public static void main(String[] args) {
Cooking cooking = new CookingFood();
cooking.cook();
}
}
abstract class Cooking{
protected abstract void step1();
protected abstract void step2();
public void cook(){
System.out.println("begin");
step1();
step2();
System.out.println("end");
}
}
class CookingFood extends Cooking{
@Override
protected void step1() {
System.out.println("切菜");
}
@Override
protected void step2() {
System.out.println("炒菜");
}
}