Von einer Singleton-Klasse kann nur ein einziges Objekt erzeugt werden, welches beim ersten Zugriff automatisch instanziiert wird. So entsteht eine globale Zugriffsmöglichkeit auf dieses Objekt. Beispiele für Singletons: Windows-Fenstermanager, Drucker-Spooler, Firmenstamm in einem Abrechnungssystem. Wichtige Designmerkmale einer Singleton-Klasse (in Java-Terminologie ausgedrückt):
- Statische Membervariable ihres eigenen Typs, in dem die einzige Instanz gespeichert wird
- Statische Methode getInstance() für den Zugriff
- Privaten parameterlosen Konstruktor, so dass andere Klassen nicht mit new() eine Instanz erzeugen können