命令模式

命令模式

命令(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;
    }
}
相关推荐
李小枫3 分钟前
webflux接收application/x-www-form-urlencoded参数
android·java·开发语言
派大星酷14 分钟前
Cookie、Session、Token、JWT 原理 + 流程 + 区别 + 实战
java·网络
身如柳絮随风扬20 分钟前
MyBatis 插件原理详解:从拦截器到动态代理,手写一个分页插件
java·mybatis
sg_knight41 分钟前
如何实现“秒传”与“断点续传”?MinIO + Java 实战进阶篇
java·开发语言·文件管理·minio·ftp·oss·文件传输
William Dawson41 分钟前
Java 后端高频 20 题超详细解析 ②
java·开发语言
Flittly41 分钟前
【SpringAIAlibaba新手村系列】(15)MCP Client 调用本地服务
java·笔记·spring·ai·springboot
少许极端43 分钟前
算法奇妙屋(四十四)-贪心算法学习之路11
java·学习·算法·贪心算法
鱼鳞_1 小时前
Java学习笔记_Day24(HashMAap)
java·笔记·学习
Flittly1 小时前
【SpringAIAlibaba新手村系列】(14)MCP 本地服务与工具集成
java·spring boot·笔记·spring·ai