命令模式

命令模式

命令(Command)模式:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。

案例

一个命令执行者可以执行多个命令

java 复制代码
public class Receiver {
    public void eat(){
        System.out.println("正在吃饭。。。");
    }

    public void sleep(){
        System.out.println("开始睡觉。。");
    }
}
java 复制代码
public interface Commond {
    void execute();
}
java 复制代码
public class EatCommond implements Commond{

    private Receiver receiver = new Receiver();
    @Override
    public void execute() {
        receiver.eat();
    }
}
java 复制代码
public class SleepCommond implements Commond{
    private Receiver receiver = new Receiver();
    @Override
    public void execute() {
        receiver.sleep();
    }
}

命令发出者只需要设置命令就能执行

java 复制代码
public class Invoker {
    Commond commond;
    public void call(){
        commond.execute();
    }

    public void setCommond(Commond commond){
        this.commond = commond;
    }
}
相关推荐
FrankYoou43 分钟前
Jenkins 与 GitLab CI/CD 的核心对比
java·docker
麦兜*1 小时前
Spring Boot启动优化7板斧(延迟初始化、组件扫描精准打击、JVM参数调优):砍掉70%启动时间的魔鬼实践
java·jvm·spring boot·后端·spring·spring cloud·系统架构
KK溜了溜了1 小时前
JAVA-springboot 整合Redis
java·spring boot·redis
天河归来2 小时前
使用idea创建springboot单体项目
java·spring boot·intellij-idea
weixin_478689762 小时前
十大排序算法汇总
java·算法·排序算法
码荼2 小时前
学习开发之hashmap
java·python·学习·哈希算法·个人开发·小白学开发·不花钱不花时间crud
IT_10242 小时前
Spring Boot项目开发实战销售管理系统——数据库设计!
java·开发语言·数据库·spring boot·后端·oracle
ye903 小时前
银河麒麟V10服务器版 + openGuass + JDK +Tomcat
java·开发语言·tomcat
武昌库里写JAVA3 小时前
Oracle如何使用序列 Oracle序列使用教程
java·开发语言·spring boot·学习·课程设计
做题不NG4 小时前
大模型应用开发-LangChain4j
java