Ho letto diverse altre domande su questo argomento (here, here e here), ma non ho ancora trovato una risposta eccellente. Ho sviluppato la mia giusta quota di livelli di accesso ai dati prima e personalmente preferisco utilizzare le classi di istanze invece delle classi statiche. Tuttavia, è più una preferenza personale (mi piace testare i miei oggetti di business, e questo approccio rende più semplice il DAL). Ho usato classi statiche per accedere al database in precedenza, ma mi sono sempre sentito un po 'insicuro nell'adeguatezza di un tale progetto (specialmente in un ambiente ASP.NET).Quali sono i pro/contro della scelta tra le classi di accesso ai dati statici e di istanza in un'app Web?
Qualcuno può fornire alcuni vantaggi/svantaggi per quanto riguarda questi due approcci allo sviluppo di classi di accesso ai dati con provider ADO.NET (senza ORM), in un'applicazione ASP.NET in particolare. Sentiti libero di suonare anche se hai ancora qualche consiglio di classe statico o di classe.
In particolare, le questioni che mi preoccupa sono:
- Threading & concorrenza
- scalabilità
- prestazioni
- Eventuali altre incognite
Grazie!
Penso che i pro superino di molto gli svantaggi, almeno secondo me. E per quanto riguarda il consumo di memoria, penso che sia probabilmente un inconveniente trascurabile nella maggior parte delle applicazioni. –
@Kevin Babcock: personalmente cerco quasi sempre di usare un approccio basato su istanze. Se voglio/ho bisogno di statico, di solito vado a un singleton, poiché è più facile adattarsi a un multitone oa un approccio di istanza in seguito (dato che stai ancora lavorando con istanze ...) –
@ReedCopsey, che ne pensi di una classe di utilità fare le pulizie di base, come la convalida dei dati? –