命令模式 (Command Pattern)

命令模式(Command Pattern)是一种行为型设计模式,它将请求封装成一个对象,从而使你可以用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。该模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。

一、基础

1.1 意图

  • 将请求封装为对象,使你可以用不同的请求参数化客户端
  • 支持请求的排队、日志记录和撤销操作
  • 解耦请求发送者和接收者

1.2 适用场景

  • 需要将操作请求与执行操作的对象解耦时
  • 需要在不同时间指定、排列和执行请求时
  • 需要支持撤销/重做操作时
  • 需要将一组简单操作组合成复杂操作时
  • 需要实现事务系统时

1.3 结构

  • 命令接口(Command):声明执行操作的接口,通常包含一个execute()方法。
  • 具体命令(ConcreteCommand):实现命令接口,持有一个接收者对象的引用,并在execute()方法中调用接收者的相应操作。
  • 接收者(Rec

你可能感兴趣的:(二十三种设计模式,命令模式,c++,设计模式)