软设之命令模式

设计模式中的命令模式

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

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

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

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

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

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

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

相关推荐
河码匠21 小时前
设计模式之依赖注入(Dependency Injection)
java·设计模式·log4j
承渊政道1 天前
C++学习之旅【C++继承概念指南与核心内容介绍】
c语言·开发语言·c++·笔记·学习·visual studio
GeminiJM1 天前
LangGraph 源码学习笔记
linux·笔记·学习·langchain
charlie1145141911 天前
RK3568跑Ubuntu 24.04全路程指南(以正点原子的RK3568开发板为例子)
linux·笔记·ubuntu·rootfs·教程·环境配置·rk3568
小龙1 天前
【学习笔记】视频抽帧方法大全
笔记·学习·计算机视觉·视频·视频抽帧
一只小小的芙厨1 天前
寒假集训·子集枚举2
c++·笔记·算法·动态规划
求真求知的糖葫芦1 天前
巴伦学习(三.一)一种可以实现阻抗变换的平面Marchand巴伦的公式推导学习笔记(下)(自用)
笔记·学习·平面
金色光环1 天前
stm32 usb的学习与使用笔记
笔记·stm32·学习
暴躁小师兄数据学院1 天前
【WEB3.0零基础转行笔记】Go编程篇-第6讲:函数与包
笔记·golang·web3·区块链·智能合约
蒸蒸yyyyzwd1 天前
分布式学习笔记 p5-13
笔记·分布式·学习