Jest to wzorzec kontrukcyjny. Daje klientowi interfejs do tworzenia rodzin powiązanych ze sobą lub od siebie zależnych obiektów bez okreslania ich klas konkretnych.
Należy do wzorców strukturalnych. Jego celem jest umożliwienie współpracy dwóch klas o niekompatybilnych interfejsach lub opakowanie starego interfejsu w nowy.
Należy do behawioralnych wzorców projektowych. Pozwala zdefiniować konkretne zachowanie/algorytm i wydzielić je do osobnych klas. Następnie umozliwia wymienne stosowanie obiek