Creation patterns provide mechanisms for creating objects that increase the flexibility and re-usability of code.
Builder is a creational design pattern that allows you to build complex objects step by step. It allows different variations or representations of an object to be produced using the same construction code.
Benefits:
You can build the objects step by step and delegate or execute them recursively.
You can reuse the same build code when building different representations of the products.
Single responsibility principle. You can decouple the complex code of the build from the business logic of the product.
Drawbacks:
The builder requires creating many new classes, which increases the overall complexity of the code.
Chapters:
0:00 Definition of the Builder Factory Pattern
01:06 House problem
05:42 Solution
08:34 Architecture
22:24 Pseudo code implementation