当前位置: 首页 > article >正文

命令模式

命令模式

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

案例

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

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

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

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

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

public class Invoker {
    Commond commond;
    public void call(){
        commond.execute();
    }

    public void setCommond(Commond commond){
        this.commond = commond;
    }
}

http://www.kler.cn/a/327008.html

相关文章:

  • sql server 文件备份恢复
  • 使用 MONAI Deploy 在 AMD GPU 上进行全身分割
  • 推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
  • Java 实现接口幂等的九种方法:确保系统稳定性与数据一致性
  • VSCode 1.82之后的vscode server离线安装
  • 软件测试基础六 (Linux)
  • PCL 索引空间采样
  • golang fmt.Sprintf 引用前述变量
  • java将word转pdf
  • python 实现lstm prediction预测算法
  • 【C++】unordered_map(set)
  • 几种常见点云开源库——点云、网格数据结构转换
  • 麒麟桌面系统V10 SP1安装php的达梦数据库扩展
  • latex打出邮箱图标和可点击的orcidID
  • NXP(恩智浦)—MC33PF8200A0ES PMIC芯片详解
  • 【COSMO-SkyMed系列的4颗卫星主要用途】
  • Spring Boot技术:构建高效网上购物平台
  • 高效学习工作SMART原则
  • C++中set集合和Python中set集合的区别
  • 【Golang】关于Go语言数学计算、随机数生成模块--math
  • 微信小程序使用picker,数组怎么设置默认值
  • RabbitMQ MQ的可靠性及消费者的可靠性
  • 【Ubuntu】VMware中虚拟网卡与服务器网卡的绑定
  • XHTML学习
  • MacOS升级Ruby版本详解:步骤、挑战与解决方案
  • 【Linux:线程概念】