Klassifizierung  | 
       
objektbasiertes
Erzeugungsmuster
  | 
  |  | 
     
     
       Zweck  | 
       
Absicherung, dass von einer Klasse genau ein
Objekt erzeugt wird und es einen globalen Zugriffspunkt auf
das Objekt gibt
  | 
  |  | 
     
     
       Motivation  | 
        | 
  |  | 
     
     
       Beispiel  | 
        | 
  |  | 
     
     
       Anwendbarkeit  | 
       
         | 
     
     
        | 
       genau ein Objekt
soll erzeugt werden können und an einer Stelle
zugreifbar sein
         | 
     
     
        | 
       
das Exemplar soll durch Unterklassenbildung
erweiterbar sein, ohne Klientencode zu modifizieren
  | 
  |  | 
     
     
       Struktur  | 
       
Strukturdiagramm
  | 
  |  | 
     
     
       Teilnehmer  | 
       
         | 
     
     
          Singleton | 
       
enthält globale Referenz auf ein Objekt
und Zugriffsfunktionen auf die Referenz
und auf die Daten
  | 
  |  | 
     
     
       Konsequenzen  | 
       
         | 
     
     
        | 
       Zugriffskontrolle auf das Exemplar
         | 
     
     
        | 
       eingeschränkter Namensraum 
globale Variable im Namensraum der Klasse
         | 
     
     
        | 
       durch Vererbung Funktionalität überschreibbar
  | 
  |  | 
     
     
       Implementierungs- Beispiele  | 
       
         | 
     
     
        | 
        | 
     
     
        | 
        | 
     
     
        | 
        | 
  |  | 
     
     
       verwandte Muster  | 
       
         | 
     
     
        | 
        | 
  |  | 
     
     
        | 
        | 
  |  | 
     
     
        | 
       
sind typische Kandidaten für  Singleton-Implementierungen
  | 
  |  |