命令模式

命令模式

命令(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;
    }
}
相关推荐
coffee_baby几秒前
状态模式原理剖析
java·ui·ajax·设计模式·状态模式
脚步的影子9 分钟前
在Java中调用Python
java·开发语言
夜月行者17 分钟前
如何使用ssm实现钢铁集团公司安全管理系统的构建与实现
java·后端·ssm
王哲晓21 分钟前
第八章 实战:构建Tomcat镜像及发布
java·docker·tomcat
AAA 建材批发王哥(天道酬勤)22 分钟前
ZooKeeper
java·zookeeper
RainbowSea28 分钟前
八,MyBatis-Plus 的“多数据源”的连接操作(详细说明)
java·spring·mybatis
菜鸟起航ing34 分钟前
设计模式---代理模式
设计模式·代理模式
鹿又笑40 分钟前
常用性能优化方法
java·性能优化·系统优化
扎克begod1 小时前
JAVA并发编程系列(13)Future、FutureTask异步小王子
java·开发语言·jvm
智通全网络工作室1 小时前
Java面试:ArrayList 和 LinkedList 的区别是什么?谈谈你对ArrayList和LinkedList的理解
java·开发语言·面试