`

Builder(生成器)---对象创建型模式

 
阅读更多

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

使得生成器可以隐藏这个产品的表示和内部结构。同时也隐藏了该产品是如何装配的。

因为产品是通过抽象接口构造的,在改变该产品的内部表示时所要做的只是定义一个新的生成器。

将构造代码和表示代码分开,Builder模式通过封装一个复杂对象的创建和表示方式提高了对象的模块性。

使你可对构造过程进行更精细的控制。Builder模式与一下子就生成产品的创建型模式不同,它是在导向者的控制下一步一步构造产品的。仅当该产品完成时导向者才从生成器中取回它。因此Builder接口相比其他创建型模式能更好的反映产品的构造过程。

通常情况下,由具体生成器生成的产品,它们的表示相差是如此之大以至于给不同的产品以公共父类没有太大意思。可以通过接口实现统一。

Abstract Factory与Builder相似,因为它也可以创建复杂对象。主要的区别是Builder模式着重于一步步构造一个复杂对象。而Abstract Factory着重于多个系列的产品对象(简单的或是复杂的)。Builder在最后的一步返回产品,而对于Abstract Factory来说,产品是立即返回的。

分享到:
评论

相关推荐

    C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式)

    C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) 体验课程

    C#视频-面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式)

    C#视频-面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式)

    C#面向对象设计模式纵横谈\4 创建型模式Builder生成器模式.zip

    在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第4节:创建型模式Builder生成器模式

    C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) (Level 300)

    C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) (Level 300)

    设计模式--可复用面向对象软件的基础

    3.2 BUILDER(生成器)——对象创建型模式 3.3 FACTORY METHOD(工厂方法)——对象创建型模式 3.4 PROTOTYPE(原型)——对象创建型模式 3.5 SINGLETON(单件)——对象创建型模式 第四章 结构型模式 4.1 ADAPTER...

    C#面向对象设计模式纵横谈(视频与源码)

    C#面向对象设计模式纵横谈(4):Builder 生成器模式(创建型模式) C#面向对象设计模式纵横谈(5):Factory Method 工厂方法模式(创建型模式) C#面向对象设计模式纵横谈(6):Prototype 原型模式(创建型模式) C#面向...

    生成器模式例子

    在《Head First Design Patterns》文中是这么介绍生成器模式的,“封装一个产品的构造过程,并允许按步骤构造”,感觉说得不是很清楚。而在网上查找相关资料是这么解释的,建造者...这种类型的设计模式属于创建型模式。

    设计模式可复用面向对象软件的基础.zip

    对象创建型模式 57 3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 ...

    设计模式--C++

    3.2 Builder(生成器)—对象创建型模式 633.3 Factory Method(工厂方法)—对象创建型模式 70 3.4 Prototype(原型)—对象创建型模式 87 3.5 Singleton(单件)—对象创建型模式 84 3.6 创建型模式的讨论 89 第 4...

    设计模式之创建型模式

    本次代码只提供了创建型模式的应用代码和说明,包括:Singleton 单件,Abstract Factory 抽象工厂,Builder 生成器,Factory Method 工厂方法。 Singleton模式解决的是实体对象个数的问题。除了Singleton...

    设计模式:可复用面向对象软件的基础--详细书签版

    对象创建型模式 57 3.2 builder(生成器)—对象创建型 模式 63 3.3 factory method(工厂方法)— 对象创建型模式 70 3.4 prototype(原型)—对象创建型 模式 87 3.5 singleton(单件)—对象创建型 模式 ...

    C#面向对象设计模式2

    (创建型模式)Builder 生成器模式

    《设计模式可复用面向对象软件的基础》

    53第3章 创建型模式 543.1 Abstract Factory(抽象工厂)—对象创建型模式 573.2 Builder(生成器)—对象创建型模式 633.3 Factory Method(工厂方法)—对象创建型模式 703.4 Prototype(原型)—对象创建型模式 ...

    软件设计师必读的书-设计模式

    对象创建型模式 57 3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 ...

    设计模式可复用面向对象软件的基础.

    对象创建型模式 57 3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 ...

    设计模式:可复用面向对象软件的基础

    对象创建型模式 57 3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 ...

    powerbuilder

    参数jobname:string类型,可选项,指定要打开打印作业的名称,该名称将显示在打印管理器窗口中返回值Long。函数执行成功时返回打印作业号,发生错误时返回-1。如果任何参数的值为NULL,PrintOpen()函数返回NULL。...

    《设计模式》中文版(23个设计模式的介绍与运用)

    对象创建型模式 57 3.2 Builder(生成器)—对象创建型 模式 63 3.3 Factory Method(工厂方法)— 对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 ...

    GOLF设计模式(C++语言版)

    对象创建型模式 70 3.4 Prototype(原型)—对象创建型 模式 87 3.5 Singleton(单件)—对象创建型 模式 84 3.6 创建型模式的讨论 89 第4章 结构型模式 91 4.1 Adapter(适配器)—类对象结构型 模式 92 ...

Global site tag (gtag.js) - Google Analytics