259 messaggi dal 09 marzo 2006
ciao Brevemente:
Ho la necessità di un oggetto o qualcosa che sia accessibile da tutta l'applicazione e che includano dati principalmente per la configurazione.
Ho visto alcuni esempi in c++ e c# dove si usano i singleton o classi publiche statiche (molto piu rare per altro).
QUali sono i punti deboli e di forza dei due sistemi?
grazie.
5.610 messaggi dal 09 febbraio 2002
Contributi
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,

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
    In primo piano

    I più letti di oggi

    Media
    In evidenza
    MISC