The Builder Pattern allows us to produce different types and representations of an object using the same construction process. ![[Screenshot 2023-09-06 at 4.11.57 PM.png]] * The pattern suggests to extract the object creation or creation code out of its own class and move it to separate objects called builders. * The intent is to separate the construction of an object from its representation. * If the same creation code is used to create several objects in the application, then think about creating a director class. Directors encapsulate various ways to construct a product using the same builder object.