Cenni preliminari sul modello di factory

In ADO.NET 2.0 sono state introdotte nuove classi di base nello spazio dei nomi System.Data.Common. Le classi di base sono astratte, ovvero non è possibile creare un'istanza di tali classi in modo diretto. Includono DbConnection, DbCommande DbDataAdapter e sono condivise tra i provider di dati .NET Framework, ad esempio System.Data.SqlClient e System.Data.OleDb. L'aggiunta di classi di base consente di aggiungere più facilmente funzionalità ai provider di dati .NET Framework senza dover creare nuove interfacce.

In ADO.NET 2.0 sono state inoltre introdotte classi di base astratte che consentono agli sviluppatori di scrivere codice per l'accesso ai dati generico e non dipendente da un provider di dati specifico.

Modello di progettazione a livello di factory

Il modello di programmazione per la scrittura di codice indipendente dal provider è basato sul modello di progettazione a livello di factory, che usa una singola API per accedere ai database di più provider. Il nome di questo modello è appropriato in quanto richiede l'uso di un oggetto specializzato soltanto per creare altri oggetti, non molto diversamente da una fabbrica reale. Per una descrizione più dettagliata dello schema progettuale factory, vedere Scrittura di codice di accesso ai dati generici in ASP.NET 2.0 e ADO.NET 2.0.

A partire da ADO.NET 2.0 la classe DbProviderFactories fornisce metodi static (o Shared in Visual Basic) per la creazione di un'istanza di DbProviderFactory. L'istanza restituisce quindi un oggetto fortemente tipizzato corretto basato sulle informazioni fornite dal provider e dalla stringa di connessione in fase di esecuzione.

Vedi anche