Visão geral do modelo de fábrica
ADO.NET 2.0 introduziu novas classes base no System.Data.Common namespace. As classes base são abstratas, o que significa que não podem ser instanciadas diretamente. Eles incluem DbConnection, DbCommande e DbDataAdapter são compartilhados pelos provedores de dados do .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 precisar criar novas interfaces.
ADO.NET 2.0 também introduziu classes base abstratas, que permitem que um desenvolvedor escreva código de acesso a dados genérico que não depende de um provedor de dados específico.
O Padrão de Design de Fábrica
O modelo de programação para escrever código independente do provedor é baseado no uso do padrão de design "fábrica", que usa uma única API para acessar bancos de dados em vários provedores. Este padrão é apropriadamente nomeado, pois exige o uso de um objeto especializado apenas para criar outros objetos, muito parecido com uma fábrica do mundo real. Para obter uma descrição mais detalhada do padrão de design de fábrica, consulte Escrevendo código de acesso a dados genérico no ASP.NET 2.0 e no ADO.NET 2.0.
A partir do ADO.NET 2.0, a DbProviderFactories classe fornece static
(ou Shared
no Visual Basic) métodos para criar uma DbProviderFactory instância. 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.