Builder Pattern
The Builder pattern allows the construction of complex objects step by step.
IBuilder
It specifies the steps that must be followed to build an object.
ConcreteBuilder
It constructs and assembles parts of a product.
Director
It indicates the order of steps to build the complex object.
Product
It is the object being constructed.