模板方法设计模式

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();
    }
}
相关推荐
用户938515635075 小时前
从零在浏览器里跑 DeepSeek-R1:WebGPU + Transformer.js 全链路实战
前端·设计模式·typescript
AI人工智能+电脑小能手11 小时前
大白话说Java设计模式-04-工厂方法模式(业务实战篇)
java·设计模式·工厂方法模式·架构设计·代码解耦
今天的砖头有点烫手啊17 小时前
AI Agent 开发实战(十):Agent 设计模式(ReAct / Plan-Execute / Reflection)
人工智能·react.js·设计模式
董员外17 小时前
RAG 系统进化论(十):可运营 RAG,从原型到长期运行的知识系统
人工智能·后端·设计模式
莫得感情 o19 小时前
设计模式 15 · 模板方法模式
设计模式·模板方法模式
岭南灯火1 天前
前端通用交互式几何编辑器的开发经验
前端·设计模式·架构
岭南灯火1 天前
前端通用交互式几何编辑器的设计法则 7 - 设计模式与原则
前端·设计模式·架构
岭南灯火1 天前
前端通用交互式几何编辑器的设计法则 4 - 绘制、悬停与编辑
前端·设计模式·架构
岭南灯火1 天前
前端通用交互式几何编辑器的设计法则 6 - 配套设施与工程化
前端·设计模式·架构