题目
以下哪种设计模式体现了“将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示”?()A. 工厂模式B. 单例模式C. 建造者模式D. 观察者模式
以下哪种设计模式体现了“将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示”?()
A. 工厂模式
B. 单例模式
C. 建造者模式
D. 观察者模式
题目解答
答案
C. 建造者模式
解析
考查要点:本题主要考查对设计模式核心概念的理解,特别是建造者模式的适用场景与核心思想。
解题关键:
- 明确问题核心:题目要求识别“将复杂对象的构建过程与表示分离,使同一构建过程可生成不同表示”的模式。
- 对比选项特征:
- 工厂模式:用于创建单个简单对象,未涉及复杂对象的分步构建。
- 单例模式:控制类实例唯一性,与构建过程无关。
- 建造者模式:通过分阶段构建步骤生成复杂对象,且支持不同表示。
- 观察者模式:处理对象间的通知机制,与构建无关。
- 关键结论:建造者模式通过分离构建逻辑与具体实现,实现同一流程生成不同产品。
建造者模式的核心思想:
- 分离构建与表示:将复杂对象的构造过程(如步骤顺序)与具体实现(如字段赋值、依赖注入)解耦。
- 统一接口,灵活扩展:定义统一的建造者接口,允许新增不同具体实现,生成不同类型的对象。
- 典型场景:如生成不同格式的文档(PDF、Word)、构建配置对象(数据库连接参数)等。
选项分析:
- A. 工厂模式:仅负责创建单个对象实例,无法处理复杂对象的分步构建。
- B. 单例模式:确保类只有一个实例,与构建过程无关。
- C. 建造者模式:符合题意,通过分阶段构建生成不同表示。
- D. 观察者模式:处理对象间的通知关系,与构建无关。