Panoramica delle applicazioni dati .NET Framework a più livelli
Nota
I set di dati e le classi correlate sono tecnologie .NET Framework legacy dei primi anni '2000 che consentono alle applicazioni di lavorare con i dati in memoria mentre le applicazioni vengono disconnesse dal database. Le tecnologie sono particolarmente utili per le applicazioni che consentono agli utenti di modificare i dati e rendere persistenti le modifiche apportate al database. Anche se i set di dati hanno dimostrato di essere una tecnologia molto efficace, è consigliabile che le nuove applicazioni .NET usino Entity Framework Core. Entity Framework offre un modo più naturale per usare i dati tabulari come modelli a oggetti e ha un'interfaccia di programmazione più semplice.
Le applicazioni dati a più livelli sono applicazioni dati separate in più livelli. Dette anche "applicazioni distribuite" e "applicazioni multilivello", le applicazioni a più livelli separano l'elaborazione in livelli discreti distribuiti tra il client e il server. Quando si sviluppano applicazioni che accedono ai dati, è necessario avere una netta separazione tra i vari livelli che costituiscono l'applicazione.
Una tipica applicazione a più livelli include un livello di presentazione, un livello intermedio e un livello dati. Il modo più semplice per separare i vari livelli in un'applicazione a più livelli consiste nel creare progetti discreti per ogni livello da includere nell'applicazione. Ad esempio, il livello presentazione potrebbe essere un'applicazione Windows Form, mentre la logica di accesso ai dati potrebbe essere una libreria di classi che si trova nel livello intermedio. Inoltre, il livello di presentazione potrebbe comunicare con la logica di accesso ai dati nel livello intermedio tramite un servizio, ad esempio un servizio Web. La separazione dei componenti dell'applicazione in livelli aumenta la gestibilità e la manutenibilità dell'applicazione, A tale scopo, è possibile semplificare l'adozione di nuove tecnologie che possono essere applicate a un singolo livello senza dover riprogettare l'intera soluzione. Inoltre, le applicazioni a più livelli archiviano in genere informazioni riservate nel livello intermedio, che mantiene l'isolamento dal livello presentazione.
Visual Studio contiene diverse funzionalità che consentono agli sviluppatori di creare applicazioni a più livelli:
Il set di dati fornisce una proprietà Del progetto DataSet che consente di separare il set di dati (livello di entità dati) e i TableAdapter (livello di accesso ai dati) in progetti discreti.
Gli strumenti LINQ to SQL in Visual Studio forniscono impostazioni per generare le classi di dati e DataContext in spazi dei nomi separati. Ciò consente la separazione logica dei livelli di accesso ai dati e di entità dati.
LINQ to SQL fornisce il Attach metodo che consente di riunire DataContext da livelli diversi in un'applicazione. Per altre informazioni, vedere Applicazioni a più livelli e remote con LINQ to SQL.
Livello presentazione
Il livello presentazione è il livello in cui gli utenti interagiscono con un'applicazione. Spesso contiene anche logica aggiuntiva dell'applicazione. I componenti tipici del livello presentazione includono quanto segue:
Componenti di associazione dati, ad esempio BindingSource e BindingNavigator.
Rappresentazioni di oggetti dei dati, ad esempio classi di entità LINQ to SQL da usare nel livello di presentazione.
Il livello presentazione accede in genere al livello intermedio usando un riferimento al servizio, ad esempio un Windows Communication Foundation Services e WCF Data Services nell'applicazione Visual Studio . Il livello presentazione non accede direttamente al livello dati. Il livello presentazione comunica con il livello dati tramite il componente di accesso ai dati nel livello intermedio.
Livello intermedio
Il livello intermedio è il livello usato dal livello presentazione e dal livello dati per comunicare tra loro. I componenti tipici del livello intermedio includono quanto segue:
Logica di business, ad esempio regole business e convalida dei dati.
Componenti e logica di accesso ai dati, ad esempio i seguenti:
TableAdapters e DataAdapters e DataReaders.
Rappresentazioni di oggetti di dati, ad esempio classi di entità LINQ to SQL .
Servizi applicativi comuni, ad esempio autenticazione, autorizzazione e personalizzazione.
La figura seguente mostra le funzionalità e le tecnologie disponibili in Visual Studio e in cui possono rientrare nel livello intermedio di un'applicazione a più livelli.
Livello intermedio
Il livello intermedio si connette in genere al livello dati usando una connessione dati. Questa connessione dati viene in genere archiviata nel componente di accesso ai dati.
Livello dati
Il livello dati è fondamentalmente il server su cui vengono archiviati i dati di un'applicazione (ad esempio, un server che esegue SQL Server).
La figura seguente illustra le funzionalità e le tecnologie disponibili in Visual Studio e in cui possono essere incluse nel livello dati di un'applicazione a più livelli.
Livello dati
Non è possibile accedere al livello dati direttamente dal client nel livello presentazione. Al contrario, il componente di accesso ai dati nel livello intermedio viene usato per la comunicazione tra la presentazione e i livelli dati.
Guida per lo sviluppo a più livelli
Negli argomenti seguenti vengono fornite informazioni sull'uso di applicazioni a più livelli:
Separare set di dati e TableAdapter in progetti diversi
Procedura dettagliata: Creazione di un'applicazione dati a più livelli
Applicazioni a più livelli e remote con LINQ to SQL