美文网首页
生成器模式(建造者模式)

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

作者: MrSYLong | 来源:发表于2019-10-27 18:48 被阅读0次
定义

生成器模式(Builder Pattern):也叫建造者模式,它将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

具体就是:有些对象的创建流程是一样的,但是因为自身特性的不同,所以在创建他们的时候需要将创建过程和特性的定制分离开来。

适用场景

当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时,比较适合使用生成器模式。

一些复杂的对象,它们拥有多个组成部分(如汽车,它包括车轮、方向盘、发送机等各种部件)。而对于大多数用户而言,无须知道这些部件的装配细节,也几乎不会使用单独某个部件,而是使用一辆完整的汽车。而且这些部分的创建顺序是固定的,或者是需要指定的。

在这种情况下可以通过生成器模式对其进行设计与描述,生成器模式可以将部件和其组装过程分开,一步一步创建一个复杂的对象。


image
image
优点

客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象。

每一个具体建造者都相对独立,而与其他的具体建造者无关,因此可以很方便地替换具体建造者或增加新的具体建造者, 用户使用不同的具体建造者即可得到不同的产品对象 。

增加新的具体建造者无须修改原有类库的代码,指挥者类针对抽象建造者类编程,系统扩展方便,符合“开闭原则”。

可以更加精细地控制产品的创建过程 。将复杂产品的创建步骤分解在不同的方法中,使得创建过程更加清晰,也更方便使用程序来控制创建过程。

缺点

建造者模式所创建的产品一般具有较多的共同点,其组成部分相似,如果产品之间的差异性很大,则不适合使用建造者模式,因此其使用范围受到一定的限制。

如果产品的内部变化复杂,可能会导致需要定义很多具体建造者类来实现这种变化,导致系统变得很庞大。

转自

面向对象设计的设计模式(五):生成器模式

相关文章

  • 设计模式之建造者模式

    建造者模式的定义   建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:  Separat...

  • 设计模式之建造者模式

    设计模式之建造者模式 1. 模式定义 建造者模式又可以成为生成器模式,它属于对象创建型模式。建造者模式将一个复杂对...

  • 设计模式之builder模式

    建造者模式也叫生成器模式,和抽象工厂模式相似,也是一种构建复杂对象的模式。 建造者模式中的角色分类: 抽象建造者...

  • 建造者模式

    建造者模式的定义 建造者模式(Builder Pattern)也叫做生成器模式,其定义如下:Separate th...

  • 设计模式-构建者模式

    概念 建造者模式(英:Builder Pattern)是一种创建型设计模式,又名:生成器模式。GOF 给建造者模式...

  • Android 中的建造者模式

    Android 中的建造者模式 概述 建造者模式(Builder Pattern)也叫生成器模式,其定义如下:se...

  • 设计模式干货系列:(六)建造者模式【学习难度:★★★★☆,使用频

    前言 今天介绍建造者模式,建造者模式又称为生成器模式,它是一种较为复杂、使用频率也相对较低的创建型模式。建造者模式...

  • 建造者模式——不止提高代码逼格

    简介 Builder Pattern,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。 建造者模式是一种...

  • 创建型-Builder

    Builder 模式,中文翻译为建造者模式或者构建者模式,也有人叫它生成器模式。实际上,建造者模式的原理和代码实现...

  • 建造者模式(2)-原理类图

    建造者模式介绍 建造者模式(Builder Pattern)又叫生成器模式,是一种对象构建模式。它可以将复杂对象的...

网友评论

      本文标题:生成器模式(建造者模式)

      本文链接:https://www.haomeiwen.com/subject/peiqvctx.html