J'ouvre un débat (déja vu certes) sur le design-pattern singleton. Le singleton souffre de multiples défauts, et le premier et non des moindres est d'instaurer un système de variable globale avec risque d'accès concurrentiel à une même ressource.

En réalité le pattern singleton peut-être remplacé simplement par deux concepts objet :
- la composition de l'instance (avec un new) dans l'object utilisateur ;
- l'utilisation du pattern util (qui est remplacé à tord par le singleton).

Si une même classe est utilisée d'un bout à l'autre de l'application (à travers le singleton) cela traduit une architecture très mauvaise avec un couplage très fort entre les objets et donc une modularité très faible.

Bref le pattern singleton ne sert à rien.