软设之命令模式

设计模式中的命令模式

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

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

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

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

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

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

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

相关推荐
aaaameliaaa1 小时前
进制练习题【找出只出现一次的数字、交换两个变量(不创建临时变量)、统计二进制中1的个数、打印整数二进制的奇数位和偶数位、求两个数二进制中不同位的个数】
c语言·数据结构·笔记·算法
Kel2 小时前
Pregel 为什么会成为LangGraph编排的心脏
人工智能·设计模式·架构
RainCity2 小时前
Java Swing 自定义组件库分享(十三)
java·笔记·后端
会周易的程序员5 小时前
microLog 后端开发指南
开发语言·c++·物联网·设计模式·日志·iot·aiot
llllliznc5 小时前
LLM 学习笔记 Day 5:Agent 核心组件——Planner、Memory 与 Reflection
笔记·学习
risc1234565 小时前
“解决了什么痛点”与“为什么有这个东西”的关系?
笔记
hj2862515 小时前
Docker 容器化技术标准化笔记
java·笔记·docker
hyhsandy18035 小时前
STM32F103 TIM学习笔记
笔记·stm32·学习
栈溢出了5 小时前
Redis 消息队列笔记:List 与 Pub/Sub
redis·笔记·list
24计网1王仔寿6 小时前
Linux运维与云计算全栈系统化学习指南(Shell+虚拟化+OpenStack+Docker+公私云实战)
linux·课程设计·数据库开发·微信公众平台·neo4j·命令模式·sequoiadb