生成器模式
将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。
Builder Pattern
Separate the construction of a complex object from its representation so that the same construction process can create different representations.
类图
模式的结构与使用
生成器模式的结构中包括四个角色。
+ 产品(Product):具体生成器要构造的复杂对象。
+ 抽象生成器(Abstract Builder):抽象生成器是一个接口,该接口除了为创建一个Product对象的各个组件定义了若干个方法外,还定义返回Product对象的方法。
+ 具体生成器(Concrete Builder):实现Builder接口的类,具体生成器将实现Builder接口所定义的方法。
+ 指挥者(Director):指挥者是一个类,该类需含有Builder接口声明的变量。指挥者的职责是负责向用户提供具体生成器,即指挥者将请求具体生成器来构造用户所需要的Product对象,如果所请求的具体生成器成功地构造出Product对象,指挥者就可以让该具体生成器返回所构造的Product对象。