设计模式基于面向对象技术,是人们在长期的开发实践中良好经验的结晶,提供了一个简单、统一的描述方法,使得人们可以复用这些软件设计办法、过程管理经验。按照设计模式的目的进行划分,现有的设计模式可以分为创建型、(结构型)和行为型三种类型。其中(Singleton)属于创建型模式,(Memento)属于行为型模式。(Bridge)模式可以将一个复杂的组件分成功能性抽象和内部实现两个独立的但又相关的继承层次结构,从而可以实现接口与实现分离。
设计模式是面向对象开发领域经长期实践沉淀的优质经验总结,按设计目的可划分为创建型、结构型、行为型三大核心类别。创建型模式聚焦对象的创建逻辑,能灵活控制对象创建过程,保证创建效率与实例管理合理性,常见模式包括单例模式(确保类仅一个实例并提供全局访问)、原型模式(通过复制原型生成新对象)、建造者模式(分步构建复杂对象)、工厂方法与抽象工厂模式等。结构型模式专注于类与对象的组合关系优化,通过合理的结构设计实现代码复用、系统解耦,典型的有桥接模式(分离抽象与实现层,让二者可独立扩展)、适配器模式(兼容不匹配的接口)、外观模式(为复杂系统提供统一访问入口)、享元模式(复用细粒度对象节省资源)、装饰模式与组合模式等。行为型模式侧重对象间的协作交互与职责分配,能提升系统行为的灵活性与可维护性,常见的有备忘录模式(保存与恢复对象状态)、命令模式(将请求封装为对象实现请求解耦)、观察者模式(实现对象间的消息通知)、策略模式(动态切换算法)、迭代器模式等。
本题考察的是设计模式的分类与典型模式应用场景。
问题1:
A选项 合成型:设计模式并没有“合成型”这一分类,错误。
B选项 组合型:组合是一种结构型设计模式中的一种具体模式,不是分类名称,错误。
C选项 结构型:按照目的分类,设计模式可分为创建型、结构型、行为型三类,结构型模式关注类或对象的组合关系,正确。
D选项 聚合型:聚合是一种对象关系,并非设计模式分类,错误。
所以选择 C。
问题2:
A选项 Adaptor(适配器模式):属于结构型模式,不是创建型模式,错误。
B选项 Facade(外观模式):属于结构型模式,不是创建型模式,错误。
C选项 Command(命令模式):属于行为型模式,错误。
D选项 Singleton(单例模式):属于创建型模式,保证类只有一个实例并提供全局访问点,正确。
所以选择 D。
问题3:
A选项 Decorator(装饰模式):属于结构型模式,错误。
B选项 Composite(组合模式):属于结构型模式,错误。
C选项 Memento(备忘录模式):属于行为型模式,用于保存和恢复对象的状态,正确。
D选项 Builder(建造者模式):属于创建型模式,错误。
所以选择 C。
问题4:
A选项 Prototype(原型模式):属于创建型模式,错误。
B选项 Flyweight(享元模式):属于结构型模式,错误。
C选项 Adapter(适配器模式):属于结构型模式,错误。
D选项 Bridge(桥接模式):结构型模式的一种,通过分离抽象与实现,使两者可以独立变化,符合题干描述,正确。
所以选择 D。
