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