命令模式

命令模式

命令(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;
    }
}
相关推荐
better_liang1 分钟前
每日Java面试场景题知识点之-Redisson热门使用场景
java·redis·微服务·分布式锁·redisson·分布式系统
2301_792674864 分钟前
java学习 day26
java
so2F32hj25 分钟前
拆解 OpenHands(14)--- Microagents
java·开发语言
明灯伴古佛10 分钟前
面试:什么是可重入性?为什么 synchronized 是可重入锁?
java·jvm·面试
卓怡学长14 分钟前
m307自习室预订座位管理分析与实现
java·spring boot·spring
Arya_aa20 分钟前
生猪养殖溯源系统前期准备与SpringBoot框架
java·spring boot
Full Stack Developme35 分钟前
Java Simple Serial Connector 教程
java·stm32·单片机
xcs1940538 分钟前
Java 上位机防空警报系统开发
java·开发语言
sR916Mecz40 分钟前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
java·linux·服务器
UAq6wn76j1 小时前
.NET源码生成器使用SyntaxTree生成代码及简化语法
java·开发语言·.net