ciao,
dipende dalla complessità della classe. Se si tratta di una classe che non contiene logica, ovvero se serve solo a tenere dei dati di configurazione allora puoi benissimo crearti una classe statica con membri statici. E' pur vero che, se questo è il caso, sarebbe più opportuno spostare i parametri nel web.config (o app.config) e usare ConfigurationManager.AppSettings per recuperare tali valori, oppure crearti una sezione di
configurazione personalizzata.
Altrimenti, se la classe è anche minimamente più complessa e ha della logica al suo interno potresti, sì, usare una singleton ma non sarebbe proprio ideale come soluzione. Alcuni (
1,
2) la considerano un
anti-pattern.
La prima cosa di cui preoccuparsi è ovviamente il
thread-safety. La tua applicazione deve
scrivere dei valori sulla singleton? In questo caso devi usare dei lock per impedire che due o più thread vadano a scrivere/leggere contemporaneamente compromettendo l'integrità dei dati. Inoltre l'uso dei
lock *potrebbe* teoricamente penalizzare un po' le prestazioni della tua applicazione se per esempio decine o centinaia di utenti cercano tutte di scrivere contemporaneamente i loro valori sulla classe singleton.
Comunque... spiega meglio cosa deve fare la classe, non c'è un'unica soluzione alla questione.
ciao,