Separate the construction of a complex object from its representation so that the same construction process can create different representations.
分离复杂对象的构造与表示,使得同一构造过程适用于不同表示。
Builder
) BuildPartA()
),也可以是实现了的具体方法 (BuildPartB()
)。ConcreteBuilder
) GetProduct()
)。Director
) Product
)