Поделиться через


Общие сведения о фабричной модели (ADO.NET)

Обновлен: November 2007

В ADO.NET 2.0 в пространстве имен System.Data.Common появились новые базовые классы. Эти базовые классы являются абстрактными, что означает, что для них нельзя создавать экземпляры напрямую. К ним относятся классы DbConnection, DbCommand и DbDataAdapter; они совместно используются такими поставщиками данных платформы .NET Framework, как System.Data.SqlClient и System.Data.OleDb. Добавление базовых классов упрощает создание новых функций для поставщиков данных .NET Framework без необходимости в создании новых интерфейсов.

В ADO.NET 2.0 также появились абстрактные базовые классы, с помощью которых разработчик может создавать обобщенный код доступа к данным, не зависящий от конкретного поставщика данных.

Фабричный конструктивный шаблон

В основе модели программирования для написания не зависящего от поставщиков кода лежит использование «фабричного» конструктивного шаблона, в котором используется один API-интерфейс для доступа к базам данных нескольких поставщиков. Этому шаблону присваивается соответствующее имя, поскольку он задает использование специализированного объекта, только чтобы создавать другие объекты, что очень напоминает настоящую фабрику. Более подробное описание фабричного конструктивного шаблона см. в статьях по написанию универсального кода доступа к данным в ASP.NET 2.0 и ADO.NET 2.0 и написанию универсального кода при помощи базовых классов и фабрик ADO.NET 2.0 в MSDN.

Начиная с ADO.NET 2.0, для создания экземпляра DbProviderFactory класс DbProviderFactories предоставляет методы static (Shared в Visual Basic). После этого экземпляр возвращает правильный строго типизированный объект, основанный на данных поставщика и строке соединения, предоставленной во время выполнения.

См. также

Основные понятия

Получение DbProviderFactory (ADO.NET)

DbConnection, DbCommand и DbException (ADO.NET)

Изменение данных с помощью DbDataAdapter (ADO.NET)