软设之命令模式

设计模式中的命令模式

它的意图是:将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销操作

比方说,你向服务员点菜,服务员把你点的菜写到订餐单里,你点的菜就是命令,这个订餐单就是对命令的封装,封装为一个对象。服务员把点餐单传递给厨师,厨师是负责执行命令的人。

Command:抽象命令类,声明执行操作的一个接口

ConcrteCommand:具体命令类,将一个接受者对象绑定于一个动作。实现EXEUTE方法,以调用接收者的具体操作

Invoker:调用者,要求一个命令对象执行一个请求

Receiver:接收者,知道如何执行关联请求的相关操作

Client:客户应用程序,创建一个具体命令类对象,并且设定它的接收者

相关推荐
David猪大卫4 小时前
【C++修炼】智能指针使用及原理
开发语言·c++·经验分享·笔记·学习·考研·面试
自小吃多8 小时前
高云FPGA ModelSim中的仿真
笔记·嵌入式硬件·fpga开发
小刘在重生~9 小时前
Java 异常体系完整笔记
java·笔记·python
泡泡鱼(敲代码中)10 小时前
Python语法技术学习笔记
开发语言·笔记·python·学习·pycharm
祁白_12 小时前
防御引擎绕过方法
笔记·web安全·php·防御引擎
志尊宝12 小时前
Vue3 零基础每日笔记(009):watch 侦听器——数据一变就“做事“
vue.js·笔记·缓存
噜~噜~噜~12 小时前
操作系统笔记-3.1.1.4 (选修)覆盖与交换
笔记·操作系统
2401_8685347812 小时前
长远目标 Long-term Goal 老题沿用
设计模式·需求分析
志尊宝13 小时前
Vue3 零基础每日笔记(011):生命周期钩子——在正确的时间做正确的事
javascript·vue.js·笔记
prog_610313 小时前
【笔记】用cursor手搓cursor(十)
人工智能·笔记·大语言模型·agent