Builder design pattern


A Builder design pattern is a creational design pattern that lets you construct complex objects step by step.

The pattern allows you to produce different types and representations of an object using the same construction code.

It is similar to factory and abstract factory design patterns.