生成器模式(建造者模式)

生成器模式(或者叫建造者模式)

将一个复杂类的 表示 与其 构建过程
相分离,使得相同的构建过程。能够得出不同的表示。

如果我们使用建造者模式,那么用户只需要指定类型就好了,过程在调用的时候就不需要想了。因为我们已经定义好了。

其中Builder定义一个构建过程。

而ConcretBuilder是按照这一过程实现的不同表示。

Director是整个模式的指挥者。客户端在调用的时候,要告诉Director具体使用哪个ConcreBuilder。其实也就是传递一个Builder对象。

时间: 2024-10-22 12:01:09

生成器模式(建造者模式)的相关文章

创建型模式 建造者模式

创建型模式 建造者模式 1) Builder:为创建产品各个部分,统一抽象接口. 2) ConcreteBuilder:具体的创建产品的各个部分,部分A, 部分B,部分C. 3) Director:构造一个使用Builder接口的对象. 4) Product:表示被构造的复杂对象.         ConcreteBuilder创建该产品的内部表示并定义它的装配过程,包含定义组成部件的类,包括将这些部件装配成最终产品的接口.        适用情况:一个对象的构建比较复杂,将一个对象的构建和对象

第6章 创建型模式—建造者模式

1. 建造者(Builder,或生成器)模式的定义 (1)将一个复杂对象构建与它的表示分离,使得同样的构建过程可以创建不同的表示. ①上述提到的“构建”是指构造过程的算法(即构造顺序,位于director类中),“表示”指生成各部件的具体细节(或叫实现,位于Builder或其子类中). ②由指导者(director)来指导构造过程,而建造者(builder)负责每步的对象的具体实现和组装各部件. ③指导者可以重用构建过程,而生成器是可以被切换的具体实现. (2)建造者模式的结构和说明 ①Buil

创建模式 -- 建造者模式

一.小案例分析 1.功能需求: 现需要建房子,建房流程:挖地基.砌墙.封顶.对于不同种类的房子(高楼,别墅),流程虽然一样,但是具体功能实现不同.如何实现建房子? 2.小菜鸡的答案: (1)定义一个抽象接口,并定义三个抽象方法(挖地基.砌墙.封顶).(2)对于不同种类的房子,实现该接口,并重写相关方法即可.(3)代码实现: package builder.pattern; /** * 测试类 * */ public class BuilderDemo { public static void m

(五)(创建型模式)建造者模式

一.建造者模式(Builder Pattern): 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.建造者模式是一种对象创建型模式. 二.应用场景: 建立一个复杂产品,根据产品的类型决定实例化产品的结果,不需要考虑产品的构想过程. 三.应用实例: 动物界的掌控者Tom,觉得出门走入太慢了,想建造一些车代步,但是目前还没有想好什么类型的车,建立一个车辆建造中心,能根据Tom大哥的车型要求,制造出指定的车型.(要求:具体的车型易扩展) 四.方案: UML图: 代码: pac

4 创建型模式-----建造者模式

模式动机:一个对象由若干部件组成,而组合这些部件的过程比较复杂,因此可以把这个组合工作交给建造者来完成,建造这返回给客户的是一个组装好的对象. 模式定义(Builder Pattern):将一个复杂对象的构建与表示分离开来,使得同样的构建过程可以创建不同的表示形式. 模式结构图: 其中包含抽象建造者Builder.具体建造者ConcreteBuilder.指挥者Director.产品Product.该模式中引入了Director,负责控制产品的生产及其与用户的隔离工作.Director针对抽象建

Builder模式(建造者模式)

在设计模式中对Builder模式的定义是用于构建复杂对象的一种模式,所构建的对象往往需要多步初始化或赋值才能完成.那么,在实际的开发过程中,我们哪些地方适合用到Builder模式呢?其中使用Builder模式来替代多参数构造函数是一个比较好的实践法则. 我们常常会面临编写一个这样的实现类(假设类名叫DoDoContact),这个类拥有多个构造函数, DoDoContact(String name); DoDoContact(String name, int age); DoDoContact(S

c++ 创建型模式-建造者模式(Builder)

1) 意图: 将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示 2) 结构: 其中: Builder是提供生成Product各个部件的抽象接口 ConcreteBuilder 实现Builder的各个接口 Director 构造一个使用Builder接口的对象 Product 表示被构造的复杂对象 3) 适用性: 当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时 当构造过程必须允许被构造的对象有不同的表示时 4) 举例: 1 #include <iost

【设计模式最终总结】建造者模式

建造者模式又称为生成器模式,它是一种较为复杂.使用频率也相对较低的创建型模式.建造者模式为客户端返回的不是一个简单的产品,而是一个由多个部件组成的复杂产品. 建造者模式概述 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.建造者模式是一种对象创建型模式. 建造者模式结构图 在建造者模式结构图中包含如下几个角色: ● Builder(抽象建造者):它为创建一个产品Product对象的各个部件指定抽象接口,在该接口中一般声明两类

设计模式—建造者模式(Builder)

title: 设计模式-建造者模式 建造者模式(Builder)是一步一步创建一个复杂的对象,它允许用户只通过指定复杂对象的类型和内容就可以构建它们,用户不需要知道内部的具体构建细节.建造者模式属于对象创建型模式.我们获得一个对象的时候不是直接new这个对象出来,而是对其建造者进行属性设置,然后建造者在根据设置建造出各个对象出来.建造者模式又可以称为生成器模式. 模式结构 一个标准的建造者模式包含如下角色: Builder:抽象建造者 ConcreteBuilder:具体建造者 Director