di: Giuseppe Marchi 09 Aprile 2008
Abbiamo già parlato dell'importanza che riveste l'astrazione in livelli delle applicazioni Web, in un articolo precedente in cui indicavamo un modello a 3 livelli: Data Access Layer, Business Logic Layer, User Interface). In questo articolo approfondiamo l'accesso ai dati.
Il Data Access Layer (da ora in poi DAL) di un'applicazione è il livello di interazione con la base di dati, dove si effettuano le connessioni e si eseguono query di selezione, inserimento, aggiornamento o cancellazione. Detto questo dovrebbe essere chiaro il grado di importanza di questo "strato".
L'implementazione di tutta la logica di accesso alle informazioni deve essere allo stesso tempo di facile utilizzo e strutturalmente robusta, questo sia per garantire una corretta astrazione dal tipo di database che si intende utilizzare, sia per fornire ai livelli superiori un modello unificato e semplice da usare, in modo tale che a livello di presentazione (le Web Form), ci si limiti a trattare solo la visualizzazione delle informazioni.
Le prime versioni di ASP.NET (1.0 e 1.1) non offrivano strumenti o classi apposite per la realizzazione dell'architettura del DAL e del Domain Model delle proprie applicazioni; si era costretti a scrivere tutto a mano, dalla gestione della connessione al mapping degli oggetti della base di dati, implementando i design pattern più appropriati alle proprie esigenze.
La versione 2.0 del .NET Framework ha introdotto classi che implementassero questi pattern architetturali, il che ad esempio, ha facilitato molto la creazione di DAL indipendenti dal database (attraverso le classi del namespace System.Data.Common).
Successivamente sono arrivati gli ORM, soluzioni diventate vieppiù robuste e che offrono oggi una via ottimale per gestire l'accesso ai dati, con meccanismi di mapping degli oggetti (a formare il Domain Model) e persistenza delle informazioni in memoria. Le più famose implementazionei di ORM per applicazioni .NET sono sicuramente NHibernate e LINQ to SQL (di casa Microsoft).
Durante lo sviluppo di grossi progetti quindi, risulta ormai impossibile evitare l'utilizzo di un DAL per la gestione dell'interazione con la base di dati e, allo stesso tempo, non è sempre possibile affidare tale compito interamente ad un ORM, ma dovrebbe essere buona regola scrivere per intero l'architettura del proprio livello di accesso ai dati facendosi aiutare da un ORM per le parti più ripetitive.
Vediamo ora come utilizzare due dei pattern architetturali più famosi per la creazione di un DAL personalizzato per l'accesso alle informazioni presenti nel database Northwind.
Nota: per il corretto funzionamento del codice allegato e per comprendere a fondo il codice presente in questo articolo, bisogna prima scaricare il database Northwind dal download center di Microsoft ed installarlo in locale, in quanto questo non è presente nella versione 2005 di SQL Server.
Guida Windows Azure Code SnippetsLe migliori pratiche per far girare le applicazioni "in the cloud",... |
Guida ASP.NET MVC Best PracticesUn workflow dettagliato e ricco di suggerimenti pratici per... |
Guida ASP.NET Starter KitUn modo semplice per imparare ad utilizzare le tecnologie Microsoft... |
Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.
Iscriviti alla newsletter
|
|
Amministratore di Reti Windows Server 200820 Febbraio 2012 a Milano |
|
Nessun corso previsto |