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

时间:2015-02-08 09:43:17

标签: design-patterns

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

在Command模式中,我们将对象的接口更改为公共Command接口,提供一个执行方法来调用执行该作业的实际方法。这个适配器模式已经完全相同吗?那么Command模式的重点是什么?

1 个答案:

答案 0 :(得分:3)

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

Command的要点是将请求与其调用者分离 并将其封装在一个单独的对象中(命令界面) 然后,Invoker动态地将请求委托给命令对象。

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

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

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

有关进一步的讨论,请参阅GoF设计模式记忆以进行学习 面向对象的设计&程序设计 在http://w3sdesign.com