Es wird eine Schnittstelle für die Erzeugung von Objekten definiert. Die Entscheidung, welche konkrete Klasse zu instanziieren, zu konfigurieren und schließlich zurückzugeben ist, wird konkreten (Unter-)Klassen überlassen, die diese Schnittstelle implementieren.

siehe: GitHub - ReadMe, GOF, STEMA, PK

Klassendiagramm

Beispiel

Im Beispiel betrachten wir eine Shop-Software, die sowohl von Moron Store Worldwide als auch von Mrs. Freakly genutzt wird, die einen (sehr erfolgreichen) Tante-Emma-Laden in Chicago betreibt. In beiden Fällen werden Gutscheine für die Kunden benötigt.

Da sich die Gutscheine und ihre Erzeugung recht stark unterscheiden, wurde das Factory Method-pattern eingesetzt.

Um das Zusammenspiel im Detail beobachten zu können, setzen Sie den log-level auf DEBUG in der logback.xml und führen den zugehörigen TestCase aus.

Ressourcen