Builder
In plain terms
A pattern for constructing complex objects step by step.
Going deeper
The Builder separates the construction of a complex object from its representation, assembling it through a series of steps. It avoids unwieldy constructors.
Under the hood
Great for objects with many optional parameters; fluent builders improve readability.
Examples
Complex object creation, fluent APIs, StringBuilder, configuration objects.
Think of it like...
Like ordering a custom sandwich by choosing each ingredient in turn.