有事没事领个红包

命令模式

1命令模式: 将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也可支持撤销的操作。

命令对象通过在特定接收者上绑定一组动作来封装一个请求。要达到这点,命令对象将动作和接收者包进对象中。这个对象只暴露出一个 execute() 方法,当此方法被调用的时候,接收者就会进行这些动作。

 

2 命令模式的更多用途

2.1 队列请求:所有命令都实现了公共的 Commond 命令,可以将命令放到队列中。一个一个取出后执行其 execute 方法。

 

3 特性:

  • 命令模式将发出请求的对象和执行请求的对象解耦
  • 在被解耦的两者之间通过命令对象进行沟通。命令对象封装了接收者和一个相关动作。
  • 调用者通过调用命令对象的execute()发出请求,这会使得接收者的动作被调用。
  • 调用者可以接受命令当做参数,甚至在运行时动态进行。
  • 命令可以支持撤销,实现一个undo方法将状态回到执行 execute 方法之前的状态。连续撤销可以通过一个堆栈保存已执行过的命令。
posted @   crazyCodeLove  阅读(174)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2016-10-31 ubuntu16.4中开启vncserver进行远程桌面
点击右上角即可分享
微信分享提示