设计模式学习(八)(命令模式)

模式名称

命令模式(Command Pattern)

  • Command: 抽象命令类
  • ConcreteCommand: 具体命令类
  • Invoker: 调用者
  • Receiver: 接收者
  • Client:客户类

解决问题

解除命令的发出者和接受者之间的耦合。

比如我们在饭店点餐,会有服务员来收取我们的菜单并把它交给厨师,但是服务员是不需要知道点餐订单的内容,只需要把这个订单提交给。

解决方案

1.编写接受者。

2.设置命令接口。

3.编写实际命令。

4.编写发出者,其中包含着命令接口。

5.编写客户端,客户端会创建命令对象,并把对象传给发出者。

命令模式的优点

1.降低系统的耦合度。

2.新的命令很容易就可以加入到系统当中。

3.很容易的实现组合命令。

4.很容易的实现Undo和Redo。

命令模式的缺点

1.很容易产生大量的命令类。

源码

(完)

打赏