Intent
Separate the construction of a complex object from its representation so that the same construction process can create different representations.
the algorithm for creating a complex object should be independent of the parts that make up the object and how they're assembled.
It isolates code for construction and representation.
How to
Director
constructs an object using the Builder interface
Builder
specifies an abstract interface for creating parts of a Product object
ConcreteBuilder
constructs and assembles parts of the product by implementing the Builder interface.
Product
Konwn cases
FileFormatConverter
Parser
UI Builder
UML
代码样例