Zpo-6-wyk-Slajd23
Builder: uczestnicy
We wzorcu występuje bardzo wyraźny podział na warstwy różniące się zakresem odpowiedzialności: obiekt Director odpowiada za zarządzanie obiektami typu Builder i zlecanie im prac; nie zajmuje się on jednak bezpośrednią realizacją zadań. Zarządzanie tymi obiektami wymaga, aby znał ich zakres odpowiedzialności, a zatem powiązania między nim a obiektami są dość silne. Ponadto zna on algorytm i sposób reprezentacji docelowej struktury danych, i na tej podstawie zleca prace.
Obiekty Builder potrafią wytwarzać produkty: każdy ConcreteBuilder jest związany z produktem, który umie wyprodukować, natomiast nie zajmują się ich kompozycją ani rodzajem struktury. W ten sposób obiekty te mogą być wykorzystane do tworzenia różnych struktur, w zależności od potrzeb.
Wszystkie obiekty typu Product posiadają wspólny interfejs, definiujący metody pozwalające łączyć te obiekty w struktury.