Visão geral do modelo de fábrica

O ADO.NET 2.0 introduziu novas classes base no namespace System.Data.Common. As classes base são abstratas, isso significa que não podem ser instanciadas diretamente. Elas incluem DbConnection, DbCommand e DbDataAdapter e são compartilhadas pelos provedores de dados .NET Framework, como System.Data.SqlClient e System.Data.OleDb. A adição de classes base simplifica a adição de funcionalidade aos provedores de dados do .NET Framework sem a necessidade de criar novas interfaces.

O ADO.NET 2.0 também introduziu classes base abstratas que permitem ao desenvolvedor escrever o código genérico de acesso aos dados que não dependa de um provedor de dados específico.

O padrão de design de fábrica

O modelo de programação para escrever o código independente de provedor é baseado no uso do padrão de design "fábrica", que usa uma única API para acessar os bancos de dados em vários provedores. Esse padrão é apropriadamente nomeado, pois exige o uso de um objeto especializado apenas para criar outros objetos, assim como uma fábrica do mundo real. Para obter uma descrição mais detalhada do padrão de design de fábrica, consulte Escrever código genérico de acesso aos dados em ASP.NET 2.0 e ADO.NET 2.0.

A partir do ADO.NET 2.0, a classe DbProviderFactories fornece métodos estáticos static (ou Shared no Visual Basic) para criar uma instância DbProviderFactory. Em seguida, a instância retorna um objeto fortemente tipado correto com base nas informações do provedor e na cadeia de conexão fornecida em tempo de execução.

Confira também