Java Reference
In-Depth Information
Das Muster Abstrakte Fabrik erlaubt es, dass durch Wahl der ent-
sprechenden konkreten Fabrik eine zu erzeugende Produktfamilie
zur Laufzeit ausgewählt werden kann.
Das Entwurfsmuster Abstrakte Fabrik ist ein objektbasiertes Muster, da die Erzeugung
einer Produktfamilie in einem einzigen Objekt gekapselt ist. Um eine andere Produkt-
familie zu erzeugen, muss dieses Objekt ausgetauscht werden.
4.19.3.1 Klassendiagramm
Das Klassendiagramm in Bild 4-60 enthält das Interface IAbstrakteFabrik , das die
Schnittstelle für die Erzeugung der Produkte einer Produktfamilie darstellt. Zusätzlich
dazu gibt es konkrete Fabriken, die das Interface IAbstrakteFabrik implemen-
tieren. Jede dieser konkreten Fabriken erzeugt Produkte einer bestimmten Produkt-
familie. Im vorliegenden Fall erzeugt z. B. die Klasse KonkreteFabrik1 die Produkte
der Klassen KonkretesProduktA1 und KonkretesProduktB1 . Diese beiden
Produkte gehören also zu einer Produktfamilie. Die einzelnen Erzeugungsmethoden
des Musters Abstrakte Fabrik wie beispielsweise die Methoden erzeugeProduktA()
und erzeugeProduktB() können als Fabrikmethoden (siehe Kapitel 4.18) ange-
sehen werden. Ähnlich wie beim Muster Fabrikmethode wird der Typ der zu erzeugen-
den Objekte in Implementierungsklassen festgelegt. Beim Muster Abstrakte Fabrik
sind es die konkreten Fabriken, die die konkreten Objekte erzeugen und damit den
Typ der zu erzeugenden Produkte festlegen. Hier das Klassendiagramm:
«interface»
IAbstrakteFabrik
Client
erzeugeProduktA() : IAbstraktesProduktA
erzeugeProduktB() : IAbstraktesProduktB
setFabrik (IAbstrakteFabrik)
KonkreteFabrik2
KonkreteFabrik1
erzeugeProduktA() : IAbstraktesProduktA
erzeugeProduktB() : IAbstraktesProduktB
erzeugeProduktA() : IAbstraktesProduktA
erzeugeProduktB() : IAbstraktesProduktB
«use»
«use»
«interface»
IAbstraktesProduktA
«Create»
KonkretesProduktA1
KonkretesProduktA2
«interface»
IAbstraktesProduktB
KonkretesProduktB1
KonkretesProduktB2
«Create»
Bild 4-60 Klassendiagramm der Abstrakten Fabrik
Search WWH ::




Custom Search