Penso che la risposta di Niall sia buona e la risposta accettata sia corretta, ma desidero aggiungere un po 'alla vena dell'uso di Singletons.
Lo schema di Singleton è un po 'come il comunismo. Sembra buono sulla carta, ma quando lo mescoli con le persone le cose tendono a cadere a pezzi.
Il fatto è che il pattern Singleton non è, intrinsecamente, un anti-pattern. È più che la maggior parte (ingenua) delle sue implementazioni tende a sfiorare aspetti importanti o causare possibili problemi.
Ad esempio, in C ++, un Singleton inizializzato a livello globale può essere allocato praticamente ogni volta prima che inizi il ciclo principale. Combinare più Singleton in questo modo significa che non hai idea di quale ordine inizializzeranno l'uno rispetto all'altro. L'ordine di pulizia è allo stesso modo arbitrario (ma generalmente il contrario dell'ordine in cui sono stati inizializzati).
(Ci sono alcune regole di base per questo, ma per lo più è lasciato ai demoni nasali .)
Anche gli oggetti globali e facilmente accessibili tendono a virare verso i regni di una classe di Dio , che è molto un anti-modello. Idee come "Ho già una classe Manager, la manterrò lì", sono facili e la soluzione è veloce. Questo è un caso di debito tecnico .
Un Singleton controllato gestito correttamente può essere molto utile e non causare problemi, ma è un modello più difficile da ottenere che le persone tendono ad aspettarsi. La parte peggiore è che gli esempi di libri di testo tendono a insegnare abitudini davvero cattive per Singletons.
Per il tuo caso specifico, poiché non hai uno stato e non hai bisogno di caricare o scaricare, non hai bisogno di un oggetto. Una funzione statica o equivalente dovrebbe soddisfare le tue esigenze.
E, dato che non posso commentare (scuote il pugno) , voglio mettere in secondo piano il punto di Niall sulla comprensione di ciò che un modello risolve e dove funziona. Ti suggerisco inoltre di cercare come funziona e come implementarlo al meglio, poiché implementare correttamente un modello è importante almeno quanto la scelta del modello giusto .