# Il miglior articolo che ho trovato sul modello Singleton in C#

<datetime class="hidden">2004-01-31T00:00</datetime>

<!-- category -- mostlylucidcouk, Imported, C#, Architecture, Software Development -->
Date un'occhiata a questo articolo sull'implementazione del [Pattern di SIngleton](http://www.yoda.arachsys.com/csharp/singleton.html) in C#. Non ho idea di cosa parlo M SK1m su ? Beh, il Pattern Singleton non è un metodo di tricotatura per le persone solitarieMSC5 è una delle tecniche più importanti per assicurare che due persone - sul web Sessi'' più o meno persone separate S- per l'instamceMST10 non dov'è MMST11 non si cerca di leggere e scrivere una risorsa allo stesso tempoMSST12 Un Singleton è definito come un oggetto che è permesso solo una singola instance nel contesto di un'applicazione RMST13 così tutti gli usi della funzionalità fornita da quell'oggetto sono gestiti da quest'instance unicaMSMST14

Come esempio, dire che avete un file di testo che contiene alcuni dati XML e viene usato come una sorta di database...wellM SK2 ovviamente volete evitare che qualcuno scriva al file nello stesso momento in cui voiMST3 cercate di leggerlo MSSK4 nel migliore dei casi vi arriveranno problemi di blocco MST6 nel peggiore dei casi potreste corrompere completamente i datiMst7 Il modello Singleton avrebbe aiutato in questa situazione offrendo una singola porta d'accesso a quel fileMSC8 così che tutte le operazioni su quel file sarebbero diventate simultani piuttosto che simultaniMSS9 evitando la lettura MSS10 il scenario di scrittura descritto primaM SS11

Un altro esempio classico di ASP.NET è nella gestione degli elementi cacheti - dove si può essere abbastanza sfortunati da avere 2 thread che cercano di aggiornare un cache allo stesso tempo \; c'è una soluzione a questo usando [Il thread locking](http://www.asptoday.com/content.asp?id=2239)Ma un Singleton è molto più puro in termini architettonici e più facile da scalare ad un'altra data, se dovete fornire quest'interfaccia ad altri oggetti. Comunque, se vi siete appena messi a cominciare con gli schemiM SK3 date un'occhiata all'articolo precedente o a , uno dei migliori libri sui schemi nelle applicazioni NET MSC6 finoraMST7 ci sono ancora molti altri che sono stati pubblicatiMst8 fate un'osservazione [Patterns of Enterprise Architecture](http://www.amazon.co.uk/exec/obidos/ASIN/0321127420/mostlylucid-21) - I'io sto ancora aspettando il Design Patterns for Web Applications using ASP
Ma fate attenzione, fate attenzione dove scegliete di usare un Singleton - può influenzare la performance e le bottiglie se non usate attentamenteM SK2 Con molta potenza arriva molta responsabilità !