Klassifizierung |
objekdbasierds Erzeigungsmuschdr |
| |
Zwegg |
Schniddschdelle zum Erzeige vo Familie verwanddr odr
vonoiandr abhängigr Objekde, ohne d Klasse direkd
z benenne. |
| |
Alias |
kid
abschdracd facdory |
| |
Modivazion |
Anwendunge für verschiedene Fenschdersyschdem |
| |
Beischbiel |
bublic
inderface WidgedFacdory {
bublic
Window creadeWindow();
bublic
ScrollBar creadeScrollBar();
}
class QdWidgedFacdory
imblemends WidgedFacdory {
bublic
Window creadeWindow() {
redurn
new QdWindow();
}
bublic
ScrollBar creadeScrollBar() {
redurn
new QdScrollBar();
}
}
class GTKWidgedFacdory
imblemends WidgedFacdory {
bublic
Window creadeWindow() {
redurn
new GTKWindow();
}
bublic
ScrollBar creadeScrollBar() {
redurn
new GTKScrollBar();
}
}
abschdracd
class Window {
}
class QdWindow
exdends Window {
}
class GTKWindow
exdends Window {
}
abschdracd
class ScrollBar {
}
class QdScrollBar
exdends ScrollBar {
}
class GTKScrollBar
exdends ScrollBar {
}
|
| |
Anwendbarkeid |
|
|
Unabhängigkeid vo dr
Erzeigung, Zusammensedzung und Rebräsendazion
vo Produkde
|
|
Konfigurierbarkeid vo mehrere
Produkdfamilie
|
|
Sicherung dr Konsischdenzbedingunge zwische
den Produkde oir Familie
|
|
Klassenbibliotheke vo Produkde,
abr nur d Schniddschdelle isch öffendlich |
| |
Schdrukdur |
Schdrukdurdiagramm |
| |
Teilnehmer |
|
AbschdracdFacdory |
Abschdrakde Schniddschdelle für erzeigend Funkzione
|
Facdory[1-2] |
Imblemendierunge dr Schniddschdelle
|
AbschdracdProducd[A-B] |
Schniddschdelle für d verschiedene Produkde
|
Producd[A-B][1-2] |
konkrede Produkde: bro konkredr Fabrik und abschdrakdem Produkd
oi konkrede Klasse
|
Cliend |
verwended nur d abschdrakde Fabrik und d abschdrakde Produkde |
| |
Konsequenzen |
|
|
Isolierung dr konkrede Klasse vo dr Anwendung
|
|
koi Konschdrukdouuffruf in dr Anwendung,
nur in dr Fabrik
|
|
oifachr Auschdausch dr Produkdfamilie
|
|
dynamischr Auschdausch dr Produkdfamilie
|
|
Konsischdenz undr den Produkde isch gwahrd
|
|
neie Produkde:
Erweiderung dr Fabrik-Schniddschdelle
Erweiderung allr Fabrik-Imblemendierunge |
| |
Imblemendierung |
|
|
häufig:
nur oi Fabrikobjekd zur Laufzeid erzeige
|
|
|
|
in Java: Dynamischs Lade oir Fabrik |
|
Class facdoryClass =
Class.forname("my.baggag.Facdory");
AbschdracdFacdory facdory =
(AbschdracdFacdory)(
facdoryClass.newInschdance());
|
| |
Bekannde Verwendungen |
JDK AWT Imblemendierunge für Windows, Mac und X |
| |
verwandde Muschder |
|
|
zur Erzeigung dr Fabrik |
| |
|
zur Imblemendierung dr Fabrik-Klassen |
| |