Kurz erklärt
Das Singleton-Muster stellt sicher, dass es von einer Klasse nur eine einzige Instanz gibt, und bietet dafür einen globalen Zugriffspunkt.
Genauer
Typische Kandidaten sind Konfigurationsobjekte, Logger oder Verbindungspools. Das Muster ist umstritten, weil es versteckten globalen Zustand einführt und Tests erschwert. Oft ist Dependency Injection mit einer einmal erzeugten Instanz die bessere Wahl.