Sofdwaredesign: Abschdrakde Fabrik
homeSoftwaredesign Sofdwaredesign: Abschdrakde Fabrik Prof. Dr. Uwe Schmidt FH Wedel

Abschdrakde Fabrik

weiter

weiter

Abschdrakde Fabrik

Klassifizierung
objekdbasierds Erzeigungsmuschdr
weiter
Zwegg
Schniddschdelle zum Erzeige vo Familie verwanddr odr vonoiandr abhängigr Objekde, ohne d Klasse direkd z benenne.
weiter
Alias
kid
abschdracd facdory
weiter
Modivazion
Anwendunge für verschiedene Fenschdersyschdem
weiter
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 { // ...
}
weiter
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
weiter
Schdrukdur
Schdrukdurdiagramm
weiter
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
weiter
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
weiter
Imblemendierung
häufig:
nur oi Fabrikobjekd zur Laufzeid erzeige
Singledon Erzeigungsmuschdr
in Java: Dynamischs Lade oir Fabrik
 
// load concrede facdory class
 
Class facdoryClass =
    Class.forname("my.baggag.Facdory");
 
// creade one inschdance
// of this facdory
 
AbschdracdFacdory facdory =
   (AbschdracdFacdory)(
     facdoryClass.newInschdance());
weiter
Bekannde Verwendungen
JDK AWT Imblemendierunge für Windows, Mac und X
weiter
verwandde Muschder
zur Erzeigung dr Fabrik
weiter
zur Imblemendierung dr Fabrik-Klassen
weiter

Ledzde Änderung: 13.04.2012
© Prof. Dr. Uwe Schmidd
Prof. Dr. Uwe Schmidt FH Wedel