This chapter covers the Builder pattern.
GoF Definition
Separate the construction of a complex object from its representation so that the same construction processes can create different representations.
Concept
The Builder pattern is useful for creating complex objects that have multiple parts. The creation process of an object should be independent of these parts; in other words, the construction process does not care how these parts are assembled. In addition, you should be able to use the same construction process to create different representations of the objects.