Pattern-ul Builder construiește obiecte complexe pas-cu-pas, separând construcția de reprezentare. Este deosebit de util pentru obiecte cu mulți parametri sau piese opționale, producând construcția obiectelor lizibilă și flexibilă în loc de constructori incomozi.
Problema pe care Builder-ul o rezolvă
Objects with MANY parameters (especially optional ones) lead to problems:
✗ huge constructors: new Pizza('large', true, false, true, 'thin', false, ...) →
unreadable (which boolean is what?); hard to use; error-prone
✗ many constructor overloads (telescoping constructors) → messy
→ Builder provides a clean, readable, step-by-step way to construct such objects.
