图1-5UML类图所示意的设计模式的意图是()。
A.使原本由于接口不兼容而不能一起工作的那些类可以一起工作
B.使算法可独立于使用它的客户而变化
C.定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新
D.将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,将请求排队或记录请求日志,支持可撤销的操作
参考答案:D
解析:
[要点解析] 图1-5 UML类图所描绘的设计模式中的Command(命令)模式。该模式的设计意图就是“将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作”。其中一种应用场合就是抽象出待执行的动作以参数化某种对象,可用过程语言中的回调(callback)函数表达这种参数化机制。Command模式是回调机制的一个面向对象的替代品。 Adapter(适配器)模式是一种类对象结构型模式。通过将一个的类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的那些类可以一起工作。 Strategy(策略)模式使得算法可独立于使用它的客户而变化。 Observer(观察者)模式的设计意图就是“定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”。