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

用于增加对象功能的设计模式是 (问题1) ;用于限制对象访问的设计模式是 (问题2)

浓缩知识点

装饰者模式属于结构型设计模式,核心是通过组合而非继承的方式,在不修改原有对象代码与内部结构的前提下,动态为对象叠加额外功能,像Java IO流体系就广泛应用了该模式,能灵活扩展功能同时避免继承带来的类膨胀问题。代理模式同样为结构型设计模式,通过在客户端与目标对象间引入代理对象作为中间层,实现对目标对象的访问控制,常见应用场景包含权限管控、延迟加载、日志埋点等,比如保护代理可限制不同权限用户对目标对象的访问,远程代理能封装网络通信细节。此外,适配器模式侧重解决接口不兼容的适配问题,委派模式核心是任务的转发与分配,可与前两者明确功能边界区分。

正确答案
B

本题考察的是设计模式的分类与应用场景
问题1
A选项 Adapter(适配器模式):主要用于接口转换,使原本不兼容的类可以协同工作,并不是用来增强对象功能,错误。
B选项 Decorator(装饰者模式):装饰者模式通过在不改变对象结构的前提下,动态地为对象增加额外功能,符合“增加对象功能”的要求,正确。
C选项 Delegation(委派模式):用于将某个任务交给其他对象完成,本身不是为了增强功能,错误。
D选项 Proxy(代理模式):主要用于在访问对象时增加一层控制,而不是单纯增加功能,错误。
所以选择 B。

问题2
A选项 Adapter(适配器模式):关注接口兼容,并非用于限制访问,错误。
B选项 Decorator(装饰者模式):用于增强功能,而不是限制访问,错误。
C选项 Delegation(委派模式):强调任务转发,不涉及访问限制,错误。
D选项 Proxy(代理模式):代理模式在客户端与目标对象之间引入代理对象,可以控制对目标对象的访问,从而实现权限控制、延迟加载等功能,正确。
所以选择 D。

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