Builder [Object Creational Pattern]
Separate the construction of a complex object from its representation so that the same construction process can create different representations.

See also References