NOTE
Builder Pattern
Constructing complex objects step by step with readable optional configuration and validation.
This is a historical learning note and may contain outdated or incomplete understanding.
A builder accumulates construction parameters and produces a final object after validation. It is useful when an object has many optional fields, staged construction, or invariants that should be checked once at build time.
Keep required fields obvious and make the built object immutable where practical. Do not replace a small, clear constructor with a builder merely for stylistic consistency.