查看更多
当前 - 选择题 - 设计模式
简单
单选题
2014年5月第25题
#第二版教材
#必须掌握

已知一个类可以处理以英制标准(英寸、英里等)表示的数据,现在需要处理一公制单位表示的数据,则可以使用(Adapter)模式来解决该问题。当(想使用一个已经存在的类,而它的接口不符合用户需求)时,可以使用该设计模式。

浓缩知识点

适配器模式属于结构型设计模式,核心是将现有类的接口转换为客户端所需的接口,解决接口不兼容问题,让原本无法协作的类实现协同工作。其典型应用场景包括需要复用已有但接口不符合需求的类,或是要集成不同系统中接口不匹配的组件时。需注意它与其他模式的区别:不同于桥接模式侧重分离抽象与实现以实现两者独立变化,也区别于装饰器模式在不改变原有接口的基础上动态增强对象功能,和侧重控制对象访问的代理模式、仅转交任务执行的委托模式也存在本质差异。

正确答案
A

本题考察的是设计模式中的适配器模式(Adapter Pattern)
问题 1:
A选项 Adapter:适配器模式的作用是将一个类的接口转换成用户希望的另一个接口,使原本由于接口不兼容而不能一起工作的类能够一起工作。本题中的类只能处理英制数据,而用户希望处理公制数据,通过适配器可以将接口进行转换,因此正确。
B选项 Decorator:装饰器模式用于在不改变对象自身的情况下,动态地给对象添加新的职责,不适合本题描述,因此错误。
C选项 Delegation:委托模式是通过将某个任务交给其他对象来实现功能,不涉及接口不兼容问题,因此错误。
D选项 Proxy:代理模式主要用于控制对对象的访问,并不用于接口转换,因此错误。
选择选项 A。

问题 2:
A选项 对一个抽象的实现部分的修改对用户不产生影响:这是桥接模式(Bridge Pattern)的典型应用场景,不是适配器模式,因此错误。
B选项 想使用一个已经存在的类,而它的接口不符合用户需求:这是适配器模式的典型使用场景,通过适配器将原有接口转换为所需接口,因此正确。
C选项 一个系统要独立于它的产品创建、组合和表示:这是抽象工厂模式(Abstract Factory)的应用场景,因此错误。
D选项 一个对象的改变需要同时改变其他对象:这是观察者模式(Observer)的应用场景,因此错误。
选择选项 B。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有