The Builder design pattern solves problems like:
How can a class (the same construction process)
create different representations of a complex object?
See Applicability section for all problems Builder can solve. See Solution section for how Builder solves the problems.