设计模式学习笔记——命令模式

请求发送者与请求接收者之间,隔着一个命令,这就是命令模式。

为什么要在中间搞一个命令对象作为中介?

请求发送者直接调用接收者不行吗?如果为方便替换,符合开闭原则,可以针对接口编程,弄一个请求接收者接口,具体的接收者实现这个接口就可以了。

究其原因,我猜是这样,先有请求发送者与请求接收者,现在需要将二者联系起来,又不好修改,因此在中间搞一个统一接口的命令对象。

因此,命令对象实质是适配器。

另外,命令对象里面一个个命令,对外可能很简单,但里面的代码,可能是具体接收者的方法的一系列调用,甚至是多个具体接收者的一系列调用,那么这又有了建造者模式的味道。

因此,命令模式是适配器模式+ 建造者模式的混合体。


原文地址:https://www.cnblogs.com/leftfist/p/4257970.html