Java Reference
In-Depth Information
x Produktfamilien können leicht ausgetauscht werden. Es muss nur eine einzige Refe-
renz so geändert werden, dass sie auf eine andere konkrete Fabrik zeigt.
x Solange die Referenz auf die konkrete Fabrik nicht geändert wird, ist sichergestellt,
dass in diesem Zeitraum nur eine einzige Produktfamilie mit zusammenpassenden
Produkten verwendet wird.
x Eine neue Produktfamilie kann flexibel hinzugefügt werden, ohne dass die Anwen-
dung geändert werden muss - vorausgesetzt die Interfaces werden nicht geändert.
Es muss nur eine neue konkrete Fabrik implementiert werden.
4.19.4.2 Nachteile
Der folgende Nachteil wird gesehen:
x Neue Produktarten lassen sich nur mit Aufwand hinzufügen, da eine neue Produkt-
art im Interface der Abstrakten Fabrik berücksichtigt werden muss und für diese
Produktart eine weitere Erzeugungsmethode eingeführt werden muss. Als Konse-
quenz müssen auch alle konkreten Fabriken an die erweiterte Abstrakte Fabrik an-
gepasst werden.
4.19.5
Einsatzgebiete
Das Muster Abstrakte Fabrik kann immer dann eingesetzt werden, wenn ein System
unabhängig von der Erzeugung seiner Produkte sein soll, das System aber mit einer
zur Laufzeit ausgewählten Produktfamilie konfiguriert werden kann. Ein Beispiel hierfür
ist ein Framework, das zur Laufzeit einerseits lauffähige Produktfamilien für Linux und
andererseits für Windows erzeugen soll.
Bei Nutzung des Musters Abstrakte Fabrik möchte der Client seine Objekte - sprich
Produkte - erzeugen können, ohne zur Kompilierzeit die konkreten Produkten bzw.
deren Klassen zu kennen. Die entsprechenden konkreten Fabriken und konkreten
Produkte werden erst zur Laufzeit festgelegt. Zur Kompilierzeit greift ein Client nur auf
die Interfaces IAbstrakteFabrik und I AbstraktesProduktX zu.
Beim Strukturmuster Brücke wird oftmals das Muster Abstrakte Fabrik eingesetzt, um
zueinander passende Abstraktions- und Implementierungsobjekte zu erzeugen.
4.19.6
Ähnliche Entwurfsmuster
Eine Abstrakte Fabrik hat eine analoge Wirkung wie eine Fassade : die Abstrakte Fa-
brik bietet einen vereinfachten Zugang zum Erzeugen von Gruppen von untereinander
abhängigen Produkten an. Eine Anwendung muss sich nicht mehr um die Abhängig-
keiten der Produkte untereinander kümmern. Eine Fassade ist im Allgemeinen aber
nicht auf das Erzeugen von Objekten beschränkt, sondern kann alle möglichen Zu-
griffe auf die Objekte vereinfachen.
Beim Muster Abstrakte Fabrik und beim Muster Fabrikmethode erfolgt die Erzeugung
eines konkreten Objekts in Unterklassen. In den Unterklassen wird auch der Typ der
zu erzeugenden Objekte festgelegt. Im Gegensatz zu einer Abstrakten Fabrik hat eine
Search WWH ::




Custom Search