模板方法设计模式

java 复制代码
package com.jmj.pattern.template;

public abstract class AbstractClass {

    //模板方法定义
    public final void cookProcess(){
        pourOil();
        heatoil();
        pourVegetable();
        pourSauce();
        fry();
    }


    public void pourOil(){
        System.out.println("倒油");
    }
    public void heatoil(){
        System.out.println("热油");
    }
    public void fry(){
        System.out.println("炒炒到熟啊");
    }
    public abstract void pourVegetable();

    public abstract void pourSauce();


}
java 复制代码
package com.jmj.pattern.template;

public class ConcreteClass_BaoCai extends AbstractClass {

    @Override
    public void pourVegetable() {
        System.out.println("下锅的蔬菜是包菜");
    }

    @Override
    public void pourSauce() {
        System.out.println("下锅的酱料是辣椒");
    }
}
java 复制代码
package com.jmj.pattern.template;

public class ConcreteClass_Caixin extends AbstractClass {

    @Override
    public void pourVegetable() {
        System.out.println("下锅的蔬菜是菜心");
    }

    @Override
    public void pourSauce() {
        System.out.println("下锅的酱料是蒜蓉");
    }
}
java 复制代码
package com.jmj.pattern.template;

public class Client {
    public static void main(String[] args) {
        ConcreteClass_BaoCai concreteClass_baoCai = new ConcreteClass_BaoCai();
        concreteClass_baoCai.cookProcess();

        ConcreteClass_Caixin concreteClass_caixin = new ConcreteClass_Caixin();
        concreteClass_caixin.cookProcess();
    }
}
相关推荐
DKPT3 小时前
Java设计模式之行为型模式(责任链模式)介绍与说明
java·笔记·学习·观察者模式·设计模式
使一颗心免于哀伤6 小时前
《设计模式之禅》笔记摘录 - 6.原型模式
笔记·设计模式
ffcf21 小时前
设计模式—专栏简介
设计模式
tianchang1 天前
SSR 深度解析:从原理到实践的完整指南
前端·vue.js·设计模式
饕餮争锋1 天前
设计模式笔记_创建型_建造者模式
笔记·设计模式·建造者模式
小小寂寞的城1 天前
JAVA策略模式demo【设计模式系列】
java·设计模式·策略模式
一块plus1 天前
深度详解 Revive 和 Precompile 技术路径
后端·设计模式·架构
智想天开1 天前
31.设计模式的反模式与常见误区
设计模式
小飞悟1 天前
组件通信的艺术:从 props 钻井到 context 共享的进化之路
前端·javascript·设计模式
Point1 天前
[ahooks] useEventEmitter源码阅读
前端·javascript·设计模式