Singletons sollte man durchaus kritisch sehen
Letztendlich handelt es sich dabei um globale Objekte; also im Prinzip das Gleiche wie globale Variablen.
Globale Variablen und Singletons machen uns Programmierer das Leben schwer, weil sie unangenehme Seiteneffekte hervorrufen.
Wer Englisch versteht sollte sich unbedingt mal dieses Video
The Clean Code Talks - "Global State and Singletons" auschauen.
Es könnte die Meinung über Singletons grundlegend ändern...