设计模式按照目的可以划分为三类 ,其中,(问题1)模式是对对象实例化过程的抽象。例如(问题2)模式确保一个类只有一个实例 ,并提供了全局访问入口;(问题3)模式允许对象在不了解要创建对象的确切类以及如何创建等细节的情况下创建自定义对象 ;(问题4)模式将一个复杂对象的构建与其表示分离。
本题考察的是设计模式的分类及其典型模式。
设计模式按照目的分为三类:创建型模式、结构型模式、行为型模式。
问题1:
A选项 创建型:主要用于封装对象的实例化过程,隐藏具体类名与创建细节,符合题意,正确。
B选项 结构型:强调类和对象的组合方式,而不是对象创建过程,错误。
C选项 行为型:侧重对象之间的交互与职责分配,不涉及实例化,错误。
D选项 功能型:不是设计模式的标准分类,错误。
选择选项 A。
问题2:
A选项 Facade:外观模式,用于为子系统提供统一接口,与单实例无关,错误。
B选项 Builder:构建器模式,将对象构建过程与表示分离,不是唯一实例控制,错误。
C选项 Prototype:原型模式,通过克隆创建对象,不是保证唯一实例的模式,错误。
D选项 Singleton:单例模式,确保类在系统中只有一个实例,并提供全局访问入口,符合题意,正确。
选择选项 D。
问题3:
A选项 Facade:不涉及对象创建细节,错误。
B选项 Builder:侧重构造过程分离,与“不知道具体类也能创建对象”无关,错误。
C选项 Prototype:通过复制现有对象实例来创建新对象,不需要知道其确切类和构造细节,符合题意,正确。
D选项 Singleton:保证唯一实例,不符合“在未知类的情况下创建自定义对象”的要求,错误。
选择选项 C。
问题4:
A选项 Facade:提供统一接口,封装子系统,不涉及构建过程分离,错误。
B选项 Builder:将复杂对象的构建与表示分离,使同一构建过程可创建不同表示,符合题意,正确。
C选项 Prototype:通过复制已有实例创建对象,不是构建与表示分离的模式,错误。
D选项 Singleton:保证唯一实例,不涉及构建过程,错误。
选择选项 B。
