命令模式

命令模式

命令(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;
    }
}
相关推荐
希望永不加班26 分钟前
SpringBoot 过滤器(Filter)与请求链路梳理
java·spring boot·后端·spring
Lyyaoo.29 分钟前
【JAVA基础面经】抽象类/方法与接口
java·开发语言
0xDevNull33 分钟前
Java实现Redis延迟队列:从原理到高可用架构
java·开发语言·后端
于先生吖37 分钟前
无人共享健身房 Java 后端源码 + 多端对接完整方案
java·开发语言
恼书:-(空寄42 分钟前
Spring 事务失效的 8 大场景 + 原因 + 解决方案
java·后端·spring
大数据新鸟1 小时前
设计模式详解——观察者模式
观察者模式·设计模式
野生技术架构师1 小时前
1000道互联网大厂Java岗面试原题解析(八股原理+场景题)
java·开发语言·面试
jiankeljx2 小时前
Java实战:Spring Boot application.yml配置文件详解
java·网络·spring boot
cyforkk2 小时前
Java 开源项目指南:如何规范地发布首个 GitHub Release
java·开源·github
qqty12172 小时前
Java进阶学习之路
java·开发语言·学习