Wzorzec Factory method (Metoda fabrykująca) jest kolejnym wzorce konstrukcyjnym. Wzorzec ten wykorzystywany jest w sytuacjach, gdy potrzebujemy utworzyć obiekt z poszczególnej grupy ( połączonej wspólnym interfejsem). Dodatkowo potrzebujemy klasy, która zajęłaby się implementacją poszczzególnych metod interfejsu i metody w większości przypadków będą niezmienne dla więkoszości klas. Do uzyskania zamierzonego efektu klasa odpowiedzialna za tworzenie metod została utworzona jako abstrakcyjna. Zawarto w niej wszystkie metody obsługujące potrzebny obiekt, a metodę która tworzy obiekt przeniesiono poziom niżej do poszczególnych podklas tej klasy.
Dla przykładu: posiadamy intefejs Napoje i klasy go implementujące: Kawa, Wino, Woda i Piwo. Czyli dokładnie ten sam model, który wykorzystaliśmy przy opisie wzorca Simple Factory.

Musimy utworzyć klasę abstrakcyjną która obsłuży nasze drinki:

Konstruowanie poszczególnego rodzaju napoju przenosimy do klasy dziedziczącej z tego interfejsu, np.

Dzięki factory method, Klasa Barman może obslugiwać poszczególne napoje nie wiedząc, który napój będzie utworzony.

Schemat wzorca wygląda tak:


.