命令模式和适配器模式之间的区别

Ins*_*son 8 design-patterns

在适配器模式中,我们将对象的接口更改为另一个对象,以便从另一个接口使用它。

在命令模式中,我们将对象的接口更改为通用的命令接口,提供一个执行方法来调用真正的方法来完成工作。这不是适配器模式已经做的完全一样的事情吗?那么命令模式有什么意义呢?

GFr*_*nke 4

设计Command模式用于解决以下问题:
- 如何根据请求配置(定制)对象?
- 请求如何在运行时动态更改?

要点Command是将请求与其调用者解耦,并将其封装在单独的对象(Command 接口)中。
然后,调用者动态地将请求委托给命令对象。

设计Adapter模式(对象适配器)用于解决以下问题: - 如何 在不更改现有接口的情况下
访问具有不兼容接口的对象?

要点Adapter是通过一个单独的对象来适应不兼容的接口,即根据(通过委托)不兼容的接口来实现我们所需的接口(目标)。

Command模式更类似于Strategy模式,它将算法与其上下文解耦,并将其封装在一个单独的对象(Strategy)中。

如需进一步讨论,请参阅用于学习面向对象设计和编程的 GoF 设计模式记忆,网址为:http://w3sdesign.com