首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >我用过的设计模式(10)-- 命令模式

我用过的设计模式(10)-- 命令模式

原创
作者头像
看、未来
修改于 2021-03-03 01:35:03
修改于 2021-03-03 01:35:03
5060
举报

@toc

命令模式

咱也没读过什么书,看网上的命令模式讲的那叫个花里胡哨,看来看去,我接收到的讯息如下:

代码语言:txt
AI代码解释
复制
命令请求者
命令调用者
命令储存
命令回撤

这是什么?这,我直接想到了消息队列好吧。还要我怎样?

看一下命令模式的使用场景:

代码语言:txt
AI代码解释
复制
当系统需要将请求调用者与请求接收者解耦时,命令模式使得调用者和接收者不直接交互。
当系统需要随机请求命令或经常增加或删除命令时,命令模式比较方便实现这些功能。
系统需要执行一组操作时,命令模式可以定义宏命令来实现该功能。
当系统需要支持命令的撤销(Undo)操作和恢复(Redo)操作时,可以将命令对象存储起来,采用备忘录模式来实现。

再想想消息队列,如果消息队列不清楚的可以看这篇:消息队列:解耦、异步、削峰,现有MQ对比以及新手入门该如何选择MQ?

再好好想想,是不是吧。

到这儿。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
设计模式——命令模式
设计模式——命令模式
Java架构师必看
2021/05/14
4940
设计模式——命令模式
详解设计模式:命令模式
命令模式(Command Pattern)也被称为行动模式(Action Pattern)、事物模式(Transaction Pattern),是在 GoF 23 种设计模式中定义了的行为型模式。
栗筝i
2022/12/05
4630
详解设计模式:命令模式
【Java设计模式】020-命令模式
命令(Command)模式:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。
訾博ZiBo
2025/01/06
960
设计模式-命令模式
当我们的代码中"方法的请求者" 和 "方法的实现者" 之间存在较为紧密的耦合的时候,这段代码的后续维护会变得很困难。如果我们想对方法进行回滚 撤销等操作的话就会很困难;使用命名模式可解决这一问题。
六个核弹
2022/12/23
3940
设计模式 ☞ 行为型之命令模式
  命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。比如看电视时,我们只需要轻轻一按遥控器就能完成频道的切换,这就是命令模式,将换台请求和换台处理完全解耦了。电视机遥控器(命令发送者)通过按钮(具体命令)来遥控电视机(命令接收者)。
Demo_Null
2021/01/13
3440
设计模式 ( 十三 ) 命令模式Command(对象行为型)
宏命令又称为 组合命令 ,它是 命令模式和组合模式 联用的产物: 宏命令也是一个具体命令,不过它包含了对其他命令对象的引用, 在调用宏命令的 execute() 方法时,将递归调用它所包含的每个成员命令的 execute() 方法 ,一个宏命令的成员对象可以是简单命令,还可以继续是宏命令。执行一个宏命令将执行多个具体命令,从而实现对命令的批处理。 Ÿ
黄规速
2022/04/14
3600
设计模式 ( 十三 ) 命令模式Command(对象行为型)
设计模式之命令模式
命令模式(Command Pattern)属于设计模式中的行为型模式。命令模式实现了施令者与具体命令的解耦,并且可以实现撤销等命令相关功能。
Dylan Liu
2019/12/19
3510
设计模式(十五):行为型之命令模式
Java微观世界
2025/01/21
1500
设计模式(十五):行为型之命令模式
设计模式 | 行为型 | 命令模式
转换让你能根据不同的请求将方法参数化,并且能够支持排队、延迟执行、记录日志、撤销等附加控制功能。
被水淹没
2023/02/25
3250
设计模式 | 行为型 | 命令模式
常用设计模式——命令模式
将"请求"封装成对象,以便使用不同的请求、队列、或者日志来参数化其他对象(就是命令对象拥有相同的接口,不同的命令对象可以被设置到调用者中)。命令模式也可以支持撤销操作。
用户5325874
2020/01/16
3780
常用设计模式——命令模式
23种设计模式之命令模式
**命令模式(Command Pattern)**是一种数据驱动的设计模式,它属于行为型模式。命令模式又称为行动/交易模式;是指将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。
Java技术债务
2022/09/26
3490
23种设计模式之命令模式
C++设计模式-命令模式讲解以文本编辑器为例
命令模式的核心思想是将请求封装为一个对象,这样就可以将请求者和接收者解耦,使得请求者不需要知道接收者的接口,只需要知道如何调用命令对象的执行方法。这样做的好处是可以将请求的发出者和接收者分离,使得它们可以独立地变化。这样也使得我们可以容易地支持请求的排队、记录请求日志以及支持可撤销的操作。
晨星成焰
2023/12/18
4141
C++设计模式-命令模式讲解以文本编辑器为例
设计模式----命令模式
命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象
大忽悠爱学习
2021/11/15
4430
java 命令模式[java泛型类继承]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说java 命令模式[java泛型类继承],希望能够帮助大家进步!!!
Java架构师必看
2022/03/09
4220
Java设计模式(十八)----命令模式
命令模式 一、 概念 二、 结构 三、 具体案例 四、 宏命令 五、 命令模式优点 引子 在程序设计中,经常设计到一个对象需要请求另外一个对象调用其方法达到某种目的,如果请求这不希望或不直接和被请求者打交道,既请求者不包含被请求者的引 用,那么就可以使用命令模式。例如在军队中,指挥官请求三连偷袭敌人,但是指挥官不希望或无法直接与三连取得联系,那么可以将该请求形成一个命令,该命令 的核心是让三连偷袭敌人。只要能让该命令被执行,就会实现偷袭
汤高
2018/01/11
8990
Java设计模式(十八)----命令模式
设计模式-命令模式
命令模式 命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。 这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。 1.优点 降低系统的耦合度。命令模式能将调用操作的对象与实现该操作的对象解耦。 增加或删除命令非常方便。采用命令模式增加与删除命令不会影响其他类,它满足“开闭原则”,对扩展比较灵活。 可以实现宏命令。命令模式可以与组合模式结合,将多个命令装配成一个组合命令,即宏命令。 方便实现 Undo 和 Re
cwl_java
2019/10/26
5540
一起学设计模式 - 命令模式
命令模式:对命令的封装,把发送命令和执行命令的责任分割开,分别委派给不同的对象,每一个命令都是一个操作,允许请求方与接收方独立开来,使之请求方不必清楚接收方的接口,更不必知道请求是怎么被接收,以及操作是否被执行、何时被执行,以及是怎么被执行的。
battcn
2018/08/03
4230
一起学设计模式 - 命令模式
设计模式(8)——命令模式(Command Pattern,行为型)
使用设计模式可以提高代码的可复用性、可扩充性和可维护性。命令模式(Command Pattern)属行为型,将请求封装成对象,以便使用不同的请求、请求日志或请求队列等来参数化其他对象。命令模式也支持撤销操作。
恋喵大鲤鱼
2018/08/03
5350
设计模式(8)——命令模式(Command Pattern,行为型)
Java设计模式学习记录-命令模式
这次要介绍的是命令模式,这也是一种行为型模式。最近反正没有面试机会我就写博客呗,该投的简历都投了。然后就继续看书,其实看书也会给自己带来成就感,原来以前不明白的东西,书上已经给彻底的介绍清楚了,然后读到完了就有一种恍然大悟的感觉,怕自己理解的有问题,还要去网上搜各种答案来确保自己的理解确实没问题。最近看到一句话感觉很有道理:读书最好的目的在于,你会发现凭借自身阅读构建起来的小世界,能以体恤式的温柔,消除自身的苦难。
纪莫
2018/08/27
3080
Java设计模式学习记录-命令模式
「聊设计模式」之命令模式(Command)
🏆本文收录于《聊设计模式》专栏,专门攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎持续关注&&收藏&&订阅!
bug菌
2023/11/13
5040
「聊设计模式」之命令模式(Command)
相关推荐
设计模式——命令模式
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档