查看更多
当前 - 选择题 - 设计模式
中等
单选题
2020年11月第28题
#系统分析与设计
#设计模式
#第二版教材
#凯恩建议必须掌握

创建型模式支持对象的创建,该模式允许在系统中创建对象,而不需要在代码中标识特定类的类型,这样用户就不需要编写大量、复杂的代码来初始化对象。在不指定具体类的情况下,(问题1)模式为创建一 系列相关或相互依赖的对象提供了一个接口。(问题2)模式将复杂对象的构建与其表示相分离,这样相同的构造过程可以创建不同的对象。(问题3)模式允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象。

正确答案B
凯恩解析

此题考察设计模式的相关概念。
在创建型模式中,不同的设计模式解决的是对象创建过程中的不同问题。题干描述了三种典型的创建型模式的应用场景:
问题 1:在不指定具体类的情况下,为创建一系列相关或相互依赖的对象提供了一个接口。
A选项Prototype:用于通过复制已有对象的方式创建新对象,不适合用于创建一系列相关对象。
B选项Abstract Factory:提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类,符合题干描述。
C选项Builder:用于构建复杂对象,注重的是构造过程,而不是一系列对象的关系。
D选项Singleton:用于保证一个类只有一个实例,与创建一系列相关对象无关。
因此,第一小题正确答案为 B. Abstract Factory

问题 2:将复杂对象的构建与其表示相分离,这样相同的构造过程可以创建不同的对象。
A选项Prototype:关注对象的克隆,不涉及构造过程的分离。
B选项Abstract Factory:侧重于创建一系列对象,而不是复杂对象的构造过程。
C选项Builder:将构建复杂对象的过程与其表示分离,可以使用相同的构建过程生成不同的产品,正是题干描述的内容。
D选项Singleton:与对象构造过程无关。
因此,第二小题正确答案为 C. Builder

问题 3:允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象。
A选项Prototype:允许通过复制已有对象(原型)来创建新对象,而无需知道这些对象的类或创建过程,正好符合题意。
B选项Abstract Factory:虽然也隐藏了具体类,但它关注的是创建一组相关对象,并不强调“克隆”或“自定义”对象。
C选项Builder:强调构建过程的解耦,而不是隐藏创建细节。
D选项Singleton:用于确保单一实例,与创建多个自定义对象无关。
因此,第三小题正确答案为 A. Prototype

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