软设之命令模式

设计模式中的命令模式

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

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

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

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

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

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

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

相关推荐
码匠许师傅2 分钟前
【设计模式精讲】2. 设计原则基石:SOLID 与几条关键原则
java·设计模式·log4j
疯狂打码的少年2 小时前
【数据库技术】两级映像与数据独立性(逻辑/物理独立性)
数据库·笔记
AI人工智能+电脑小能手2 小时前
大白话说Java设计模式-41-备忘录模式(源码剖析篇)
java·设计模式·备忘录模式·源码分析·serializable·undo log·spring statemachine
翻身的咸鱼ing2 小时前
ArkTS 学习笔记
笔记·学习
程序猿炎义2 小时前
【llm-algo-leetcode学习笔记】训练侧显存优化
人工智能·笔记·学习
动词ing2 小时前
【学习笔记】数据结构(数组滑动窗口+无重复字符的最长字串题目)
数据结构·笔记·学习
yinchnag3 小时前
CRTP:奇异递归模板模式在 Go 模块系统中的实现
设计模式·go
CarIise3 小时前
JavaScript进阶与轮播图实现 课堂笔记
开发语言·javascript·笔记
Sherotree3 小时前
Agent 工程笔记①:工具调用失败时,先查哪三层
网络·数据库·笔记
征尘bjajmd4 小时前
黑马AI大模型机器学习课程笔记(个人记录、仅供参考)
人工智能·笔记·机器学习