单选题5.3 软件设计10 / 12
正在加载题目…
系统集成项目管理工程师 · 第三版 · 第5章 软件工程
工厂方法、适配器、单例和责任链分别属于哪类设计模式?
12 道章节练习题
答案与解析
正确答案 B
按目的与用途,工厂方法和单例属于创建型,适配器属于结构型,责任链属于行为型,因此只有B正确。责任链也常译作职责链,教材采用后者。
不妨追问每个模式首先在解决什么问题。工厂方法安排产品对象怎样创建,单例限制实例并提供访问点,它们都围绕创建;适配器在已有接口不兼容时提供适配,使对象能按期望的接口协作,所以归入结构型;责任链把请求沿处理者传递,重点是由谁承担处理职责,属于行为型。代码里用了类、创建了对象,并不足以确定分类,几乎所有模式的实现都可能包含这些动作。另外,类模式与对象模式属于另一条分类轴,不能拿来替代本题的创建、结构、行为三分类。
选项分析
- A
- 工厂方法把对象创建的变化封装起来,按目的属于创建型,并非结构型。
- B
- 适配器协调不兼容的接口,使已有对象可以配合使用,属于结构型。
- C
- 单例管理实例数量及访问方式,核心仍在对象的创建和取得,不属于行为型。
- D
- 责任链组织请求处理者并分配职责,属于行为型;链中有多个对象不等于创建型。
容易混淆的地方
看见“链”就联想到数据结构,或看见执行动作就选行为型,没有追问模式解决的核心设计问题。
再巩固一步
- 先给模式写一句用途,再写类别。例如“转换已有接口”对应适配器、结构型,不只抄模式名称表。
课后练习整理 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 5.3.4 · 纸书第220页查看完整题目与详解