在适配器模式中,我们将对象的接口更改为另一个接口,以便从另一个接口使用它。
在Command模式中,我们将对象的接口更改为公共Command接口,提供一个执行方法来调用执行该作业的实际方法。这个适配器模式已经完全相同吗?那么Command模式的重点是什么?
答案 0 :(得分:3)
Command
设计模式用于解决以下问题:
- 如何使用请求配置(自定义)对象?
- 如何(在运行时)动态更改请求?
Command
的要点是将请求与其调用者分离
并将其封装在一个单独的对象中(命令界面)
然后,Invoker动态地将请求委托给命令对象。
Adapter
设计模式(对象适配器)用于解决以下问题:
- 如何访问具有不兼容接口的对象
不改变现有的接口?
Adapter
的要点是通过一个单独的对象
适应不兼容的接口,即实现我们所需的接口
接口(目标)的(通过委托)不兼容的接口。
Command
模式更类似于Strategy
模式,
它将算法与其上下文分离并封装它
在一个单独的对象(战略)。
有关进一步的讨论,请参阅GoF设计模式记忆以进行学习 面向对象的设计&程序设计 在http://w3sdesign.com。