Singleton [ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ]


Beispiel

Angenommen, es exisitert weltweit ein einziger Markt, auf den Schiffe verkauft und gekauft werden können. Alle Reedereien müssen demzufolge über diesen einzigen Markt ihre Schiffe verkaufen bzw. können neue Schiffe nur über diesen beziehen.

Das Java-Applet wurde mit der J2SE 1.5.0 entwickelt.




Beschreibung

[klick] zum vergrössern
 Abb. 2: «Singleton» und «Client» des Beispiels

Die Klasse ShipMarket ist das «Singleton» im Beispiel. Alle «Client»-Objekte, hier von der Klasse Shipowner greifen auf die einzige Instanz über die Methode getInstance():ShipMarket zu:

  public class ShipMarket
  {
    ...
    private static ShipMarket itsInstance;
    
    public static synchronized ShipMarket getInstance() {
      if( itsInstance == null )
        itsInstance = new ShipMarket();
      return itsInstance;
    }

    private ShipMarket() {}
    ...
}


[ Übersicht ] [ Beispiel ] [ Quellen ] [ Home Entwurfsmuster ]
Stand: 31.03.2005, Autor: Jens Günther