模板方法模式

模板方法模式在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。
模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

实例解析:
有些人喜欢咖啡,有些人喜欢茶。茶和咖啡的冲泡方式如下:
星巴兹咖啡冲泡法
把水煮沸
用沸水冲泡咖啡
把咖啡倒进杯子
加糖和牛奶
星巴兹茶冲泡法
把水煮沸
用沸水冲泡茶叶
把茶倒进杯子
加柠檬

试通过代码实现。

下面为模板方法模式设计:


模板方法模式_第1张图片
Paste_Image.png

主函数代码:

public class Test {
    public static void main(String[] args) {
        Tea tea = new Tea();
        tea.prepareRecipe();
        Coffee coffee = new Coffee();
        coffee.prepareRecipe();
    }
}

具体代码

设计原则

  • 好莱坞原则:别调用(打电话给)我们,我们会调用(打电话给)你。即:高层组件对待低层组件的方式是“别调用我们,我们会调用你”。

你可能感兴趣的:(模板方法模式)