Dies ist eine alte Version des Dokuments!


Singleton

Ein Singleton ist eine Klasse, von welcher nur eine Instanz erzeugt werden kann. Singletons werden immer dann verwendet, wenn man eine Klasse in einem Projekt an vielen Stellen verwenden möchte und diese Klasse nicht überall als Parameter mitgeben möchte.

Ein Beispiel wäre eine Klasse zum Loggen, welche alle Loginformationen in eine Datei schreiben soll. Diese Klasse würde praktisch im ganzen Projekt benötigt, aber es wäre extrem unklug dafür jedesmal eine eigene Instanz zu erzeugen. Man denke an die Probleme, die entstehen, wenn alle Instanzen die selbe Datei bearbeiten sollen.

\\
Ein Beispiel für ein Singleton wäre:

public class MySingleton {
    private static MySingleton mySingelton = null;
 
    private MySingleton(){
    }
 
    public static MySingleton getInstance(){
        if (mySingelton == null)
            mySingelton = new MySingleton();
        return mySingelton;
    }
 
    public void doSomething(){
        System.out.println("Die Methode doSometing() wurde aufgerufen.");
    }
}

Wie man sieht ist der Konstruktor privat. Dadurch kann nicht „versehendlich“ eine weitere Instanz erstellt werden. Die Instance wird ausschließlich und einmalig in der statischen Methode getInstance() erzeugt.

Der Aufruf würde dann so aussehen:

MySingleton.getInstance().doSomething();

Eigene Werkzeuge
Werkzeuge

gratis Counter by GOWEB
seit 9.10.2007