模板设计模式
模板设计模式
模板的价值就在于骨架的定义,骨架内部将问题处理的流程已经定义好,通用的处理逻辑一般由父类实现,个性化的处理逻辑由子类实现。
-
在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。
-
它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。
public abstract class CoffeeMachineTemplate { protected abstract void processBeans();//倒入豆子 protected abstract void processMilk();//倒入牛奶 protected abstract void boil();//煮沸 public void pourToCup() { /** * pour to various cups based on the size */ } public void serve() { //倒入豆子 processBeans(); //煮沸 boil(); //倒入牛奶 processMilk(); //将咖啡倒入杯子中 pourToCup(); } }
/** * 浓咖啡 * */ public class EspressoMachine extends CoffeeMachineTemplate { @Override protected void processBeans() { /** * Gring the beans */ } @Override protected void processMilk() { /** * Use milk to create leaf art */ } @Override protected void boil() { /** * Mix water and beans */ } }