Java Reference
In-Depth Information
4.18.4.2 Nachteile
Folgende Nachteile werden gesehen:
x Für jede neue Produktklasse muss eine weitere Unterklasse eingeführt werden, um
die Fabrikmethode entsprechend zu redefinieren. Damit erhöht sich die Komplexität.
x Aus Performance-Gründen kann es sinnvoller sein, Objekte direkt zu erzeugen und
nicht die Fabrikmethode einzusetzen.
4.18.5
Einsatzgebiete
Es müssen Objekte einer Klasse erzeugt werden, deren Typ von vornherein nicht be-
kannt ist. Dieses Erzeugungsmuster wird in vielen Frameworks (Klassenbibliotheken)
eingesetzt.
Fabrikmethoden werden oftmals im Muster Schablonenmethode eingesetzt. Fabrik-
methoden spielen in diesen Fällen dann die Rolle von Einschubmethoden, die aus
Schablonenmethoden heraus aufgerufen werden. Wird beispielsweise die Fabrikme-
thode der abstrakten Erzeugerklasse in der Methode operation() der Erzeugerklas-
se selbst (siehe Bild 4-58) aufgerufen, dann stellt in dieser Situation die Fabrikmethode
eine Einschubmethode und die Methode operation() eine Schablonenmethode aus
dem Muster Schablonenmethode dar.
Die Methode erzeugeIterator() aus Kapitel 4.17, mit der eine Datenstruktur einen
zu ihr passenden Iterator erzeugt, ist ein Beispiel für den Einsatz des Erzeugungs-
musters Fabrikmethode.
Eine Abstrakte Fabrik verwendet in der Regel Fabrikmethoden.
4.18.6
Ähnliche Entwurfsmuster
Die Abstrakte Fabrik hat im Gegensatz zu der Fabrikmethode eine Produktfamilie
und nicht ein einzelnes Produkt zum Inhalt. Die Erzeugung eines konkreten Objekts er-
folgt in beiden Fällen in Unterklassen.
Search WWH ::




Custom Search