按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有(Singleton)模式等;(结构型)模式主要用于如何组合已有的类和对象以获得更大的结构,其代表有 Adapter 模式等;(行为型)模式主要用于对象之间的职责及其提供服务的分配方式,其代表有(Visitor)模式等。
设计模式按设计目的可分为创建型、结构型、行为型三大类。创建型模式的核心是封装对象的创建与组合逻辑,通过抽象接口管控对象创建过程,避免客户端直接依赖具体类,常见模式包括单例、原型、工厂方法、抽象工厂、建造者,比如单例模式能确保系统中某类仅存在一个实例,适用于配置管理等需全局共享资源的场景;结构型模式专注于组合已有类或对象以构建更复杂的系统结构,优化类与对象间的组合关系,代表模式有适配器、装饰器、享元、代理、外观、桥接、组合,像适配器模式可让接口不兼容的类协同工作,装饰器能在不修改原有类的前提下动态扩展功能;行为型模式聚焦对象间的职责分配与协作方式,规范对象交互流程与职责划分,常见模式包含命令、观察者、策略、访问者、迭代器、模板方法等,比如观察者模式可实现对象间的一对多依赖通知,策略模式能动态切换算法逻辑,提升系统的灵活性与可维护性。
本题考察的是设计模式的三大分类及其代表模式。
设计模式分为创建型(Creational)、**结构型(Structural)和行为型(Behavioral)**三类。
问题1(创建型模式):
A选项 Decorator:装饰模式,是结构型模式,不是创建型,错误。
B选项 Flyweight:享元模式,是结构型模式,不是创建型,错误。
C选项 Command:命令模式,是行为型模式,不是创建型,错误。
D选项 Singleton:单例模式,确保系统中某个类只有一个实例并提供全局访问点,典型的创建型模式,正确。
所以选择 D。
问题2(结构型模式):
A选项 合成型:不是设计模式分类中的正式名称,错误。
B选项 组合型:虽然“组合”是结构型模式的一种(Composite),但设计模式分类用词是“结构型”,错误。
C选项 结构型:用于组合已有类和对象形成更大结构的模式,包括 Adapter、Bridge、Composite、Decorator、Facade、Flyweight、Proxy,正确。
D选项 聚合型:不是设计模式分类的正式说法,错误。
所以选择 C。
问题3(行为型模式):
A选项 行为型:描述对象之间的职责分配和协作方式,包括 Chain of Responsibility、Command、Interpreter、Iterator、Mediator、Memento、Observer、State、Strategy、Template Method、Visitor 等,正确。
B选项 交互型:不是正式分类名称,错误。
C选项 耦合性:是系统设计中的一个特性指标,不是设计模式类别,错误。
D选项 关联型:同样不是设计模式类别,错误。
所以选择 A。
问题4(行为型代表模式):
A选项 Prototype:原型模式,是创建型模式,错误。
B选项 Facade:外观模式,是结构型模式,错误。
C选项 Proxy:代理模式,是结构型模式,错误。
D选项 Visitor:访问者模式,允许在不修改对象结构的情况下,定义作用于这些对象的新操作,属于行为型模式,正确。
所以选择 D。
