在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。
例子: 师傅提供模板,徒弟跟着步骤做,但是每一步具体怎么操作,徒弟自己决定
import java.sql.SQLOutput;
class TemplateMethodPattern {
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("做饭开始");
step1();
step2();
System.out.println("做饭结束");
}
}
class CookingFood extends Cooking {
@Override
protected void step1() {
System.out.println("放鸡蛋和西红柿");
}
@Override
protected void step2() {
System.out.println("少放盐多放味精");
}
}