软设之命令模式

设计模式中的命令模式

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

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

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

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

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

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

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

相关推荐
Piko6142 小时前
锐捷交换机 DHCP Server部署
运维·网络·笔记
jsonbro2 小时前
手把手带你实现发布订阅模式
前端·vue.js·设计模式
workflower2 小时前
室内外配送机器人-应用路径
人工智能·机器学习·设计模式·矩阵·自动化
取地址符3 小时前
Rust学习笔记(基于Rustlings)(2):数据结构与集合
笔记·学习·rust
A.零点3 小时前
期末复习,408考研数据结构:第一章绪论完整知识梳理与真题深度解读
c语言·数据结构·笔记·考研
茯苓gao4 小时前
嵌入式开发笔记:工业机器人通信协议深度解析——从现场总线到工业以太网
笔记·嵌入式硬件·学习·机器人·信息与通信
取地址符4 小时前
Rust语法学习 (基于Rustlings)(1):基础语法
经验分享·笔记·学习·rust
不会调制解调的猫4 小时前
笔记 | 什么是 rp_filter(反向路径过滤)?
服务器·网络·笔记
星马梦缘4 小时前
ACM CSP竞赛笔记(二十三)——线段树 与 树状数组
笔记·线段树·acm·树状数组·csp
北鸟南游5 小时前
学习-claude code 工程化实战的笔记-极客时间
笔记·学习·ai编程