Budowniczy to kreacyjny wzorzec projektowy umożliwiający tworzenie złożonych obiektów krok po kroku.
W przeciwieństwie do innych wzorców kreacyjnych Budowniczy nie zakłada definiowania wspólnego interfejsu dla produktów. Dzięki temu da się wytwarzać różne produkty stosując ten sam proces konstrukcyjny.
Wzorzec Budowniczy stosuje się również wtedy, gdy żądany produkt jest złożony, a jego produkcja odbywa się etapami. W takim przypadku prościej byłoby mieć kilka metod konstrukcyjnych zamiast jednego wielkiego konstruktora. Potencjalnym problemem z wieloetapowym podejściem jest to, że klient może uzyskać niezamierzony dostęp do niedokończonego i niestabilnego produktu. Wzorzec Budowniczy chroni produkt przed dostępem aż do jego pełnego ukończenia.
W poniższym kodzie mamy różne rodzaje domów (igloo i normalHouse) — konstruowane przez iglooBuilder i normalBuilder. Każdy rodzaj domu powstaje według takich samych etapów. Opcjonalna struktura kierownik ułatwia zorganizowanie procesu budowy.