五、建造(Builder)模式

建造模式是对象的创建模式。建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。

在有些情况下,一个对象的一些性质必须按照某个顺序赋值才有意义。在某个性质没有赋值之前,另一个性质则无法赋值。这样情况使得性质本身的建造涉及

到复杂的业务逻辑。建造者模式将产品的结构和产品的零件建造过程对客户端隐藏起来,把对建造过程进行指挥的责任和具体建造者零件的责任分割开来,

从而达到责任划分和封装的目的。

在以下情况下应该使用建造模式

  1. 需要生成的产品对象有复杂的内部结构。每一个内部成分本身可以是对象,也可以仅仅是一个对象(即产品对象)的一个组成部分
  2. 需要生成的产品对象的属性相互依赖。建造模式可以强制实行一种分步骤进行的建造过程,因此,如果产品对象的一个属性必须在另一个属性被赋值之后才可以被赋值
    使用建造模式是一个很好的设计思想
  3. 在对象创建过程中会使用到系统中的其他一些对象,这些对象在产品对象的的创建过程中不易得到。

使用建造模式主要有以下的效果:

  • 建造者的使用使得产品的内部表象可以独立地变化。使用建造模式可以使客户端不必知道产品内部组成的细节
  • 每一个Builder都相对独立,而与其他的Builder无关
  • 模式所建造的最终产品更易于控制。
原文地址:https://www.cnblogs.com/lovemdx/p/2843212.html