将复杂对象的构建与其表示相分离,使得相同的构造过程可以创建不同的对象的模式是( )。
单选题
将复杂对象的构建与其表示相分离,使得相同的构造过程可以创建不同的对象的模式是( )。
A. Prototype
B. Abstract Factory
C. Builder
D. Singleton
答案:C
解析
正确答案:C. Builder
Builder(建造者)模式的核心是将复杂对象的构建过程与它的表示分离:Director 负责稳定构造步骤,Builder 负责具体表示,因此相同构造过程可生成不同对象。
- A. Prototype:通过克隆已有对象创建新对象,关注复制而非分步构建与表示分离。
- B. Abstract Factory:用于创建相关产品族,强调产品系列一致性,不强调相同构造过程生成不同表示。
- C. Builder:正确。典型如 StringBuilder、Lombok @Builder,可分步组装复杂对象。
- D. Singleton:保证全局唯一实例,与复杂对象构建过程无关。
面试延伸:Builder 与工厂的区别在于,工厂关注“创建什么”,Builder 关注“如何一步步创建”;适合参数多、可选参数多、构造顺序固定的场景。