Wzorzec fabryki
Wzorzec kreacyjny Bandy Czworga — tworzenie obiektów wynosi się z kodu klienta do „fabryki”, żeby klient nie musiał znać konkretnych klas.
Trzy odmiany: Simple Factory (jedna statyczna metoda zwraca instancje), Factory Method (klasę wybierają podklasy), Abstract Factory (rodziny powiązanych obiektów). W Pythonie __new__ może pełnić rolę fabryki. W Springu: Bean Factory.
Najlepiej sprawdza się, gdy wybór implementacji zależy od konfiguracji w czasie działania. Antywzorzec: fabryka, która tylko opakowuje konstruktor bez żadnej logiki — zbędna warstwa pośrednia.