乐趣区

关于设计模式:建造者模式

模式的定义与特点

建造者(Builder)模式的定义:指将一个简单对象的结构与它的示意拆散,使同样的构建过程能够创立不同的示意,这样的设计模式被称为建造者模式。它是将一个简单的对象合成为多个简略的对象,而后一步一步构建而成。它将变与不变相拆散,即产品的组成部分是不变的,但每一部分是能够灵便抉择的。

该模式的次要长处如下:

  1. 各个具体的建造者互相独立,有利于零碎的扩大。
  2. 客户端不用晓得产品外部组成的细节,便于管制细节危险。

其毛病如下:

  1. 产品的组成部分必须雷同,这限度了其应用范畴。
  2. 如果产品的外部变动简单,该模式会减少很多的建造者类。

建造者(Builder)模式和工厂模式的关注点不同:建造者模式重视零部件的组装过程,而更重视零部件的创立过程,但两者能够联合应用。

模式的构造与实现

建造者(Builder)模式由产品、形象建造者、具体建造者、指挥者等 4 个因素形成,当初咱们来剖析其根本构造和实现办法。

1. 模式的构造

建造者(Builder)模式的次要角色如下。

  1. 产品角色(Product):它是蕴含多个组成部件的简单对象,由具体建造者来创立其各个滅部件。
  2. 形象建造者(Builder):它是一个蕴含创立产品各个子部件的形象办法的接口,通常还蕴含一个返回简单产品的办法 getResult()。
  3. 具体建造者 (Concrete Builder):实现 Builder 接口,实现简单产品的各个部件的具体创立办法。
  4. 指挥者(Director):它调用建造者对象中的部件结构与拆卸办法实现简单对象的创立,在指挥者中不波及具体产品的信息。

其结构图如图 所示。

退出移动版