- Separate the construction of a complex object from it’s representations so that the same construction process can be used for creating other representations.
- The Builder pattern suggests moving the construction logic out of the object class to a separate class referred to as a builder class.