模式的定义与特点
建造者(Builder)模式的定义:指将一个简单对象的结构与它的示意拆散,使同样的构建过程能够创立不同的示意,这样的设计模式被称为建造者模式。它是将一个简单的对象合成为多个简略的对象,而后一步一步构建而成。它将变与不变相拆散,即产品的组成部分是不变的,但每一部分是能够灵便抉择的。
该模式的次要长处如下:
- 各个具体的建造者互相独立,有利于零碎的扩大。
- 客户端不用晓得产品外部组成的细节,便于管制细节危险。
其毛病如下:
- 产品的组成部分必须雷同,这限度了其应用范畴。
- 如果产品的外部变动简单,该模式会减少很多的建造者类。
建造者(Builder)模式和工厂模式的关注点不同:建造者模式重视零部件的组装过程,而更重视零部件的创立过程,但两者能够联合应用。
模式的构造与实现
建造者(Builder)模式由产品、形象建造者、具体建造者、指挥者等 4 个因素形成,当初咱们来剖析其根本构造和实现办法。
1. 模式的构造
建造者(Builder)模式的次要角色如下。
- 产品角色(Product):它是蕴含多个组成部件的简单对象,由具体建造者来创立其各个滅部件。
- 形象建造者(Builder):它是一个蕴含创立产品各个子部件的形象办法的接口,通常还蕴含一个返回简单产品的办法 getResult()。
- 具体建造者 (Concrete Builder):实现 Builder 接口,实现简单产品的各个部件的具体创立办法。
- 指挥者(Director):它调用建造者对象中的部件结构与拆卸办法实现简单对象的创立,在指挥者中不波及具体产品的信息。
其结构图如图 所示。