题库系统集成项目管理工程师

系统集成项目管理工程师 · 第三版 · 第5章 软件工程

工厂方法、适配器、单例和责任链分别属于哪类设计模式?

12 道章节练习题
单选题5.3 软件设计10 / 12

对于设计模式,说法正确的是()。

选择答案
未作答
答案与解析

正确答案 B

按目的与用途,工厂方法和单例属于创建型,适配器属于结构型,责任链属于行为型,因此只有B正确。责任链也常译作职责链,教材采用后者。

不妨追问每个模式首先在解决什么问题。工厂方法安排产品对象怎样创建,单例限制实例并提供访问点,它们都围绕创建;适配器在已有接口不兼容时提供适配,使对象能按期望的接口协作,所以归入结构型;责任链把请求沿处理者传递,重点是由谁承担处理职责,属于行为型。代码里用了类、创建了对象,并不足以确定分类,几乎所有模式的实现都可能包含这些动作。另外,类模式与对象模式属于另一条分类轴,不能拿来替代本题的创建、结构、行为三分类。

选项分析

A
工厂方法把对象创建的变化封装起来,按目的属于创建型,并非结构型。
B
适配器协调不兼容的接口,使已有对象可以配合使用,属于结构型。
C
单例管理实例数量及访问方式,核心仍在对象的创建和取得,不属于行为型。
D
责任链组织请求处理者并分配职责,属于行为型;链中有多个对象不等于创建型。

容易混淆的地方

看见“链”就联想到数据结构,或看见执行动作就选行为型,没有追问模式解决的核心设计问题。

再巩固一步

  • 先给模式写一句用途,再写类别。例如“转换已有接口”对应适配器、结构型,不只抄模式名称表。
课后练习整理 · 第三版 · 《系统集成项目管理工程师教程》第3版 · 5.3.4 · 纸书第220页

练习小结

题目纠错

未发送。正式接收渠道尚未接通。

查看纠错信息