Что класс поставщика означает в мире.NET?

Существует много классов, имеющих это provider суффикс. (Данные, членство, modelmetadata...).

Когда должен быть класс назван как класс поставщика?

8
задан user137348 19 March 2010 в 09:44
поделиться

2 ответа

Провайдеры в основном находятся между вашей логикой и хранилищами данных любого типа (база данных, xml и т.д.). MSDN упоминает:

Провайдеры абстрагируют носители данных примерно так же, как драйверы устройств абстрагируют аппаратные устройства.

Дополнительная информация: Microsoft ASP.NET 2.0 Providers: Introduction

For example: Вместо того чтобы работать с базой данных или XML, вы хотите работать с плоским файловым хранилищем на диске где-то в сети. Для этого вы создаете пользовательский провайдер и используете его в своей логике для сохранения данных.

6
ответ дан 5 December 2019 в 15:22
поделиться

Вот описание шаблона провайдера от MS (http: // msdn. microsoft.com/en-us/library/ms972319.aspx):

Сам по себе шаблон чрезвычайно прост и получил название "поставщик", поскольку он предоставляет {{1} } функциональность для API. По определению, поставщик - это просто контракт между API и уровнем абстракции бизнес-логики / данных . Поставщик - это реализация API, отдельная от самого API. Например, новая функция членства в Whidbey имеет статический метод , называемый Membership.ValidateUser (). Сам класс членства не содержит бизнес-логики ; вместо этого он просто перенаправляет этот вызов настроенному провайдеру . класс поставщика несет ответственность за содержание реализации для этого метода, вызывая любой уровень бизнес-логики (BLL) или уровень доступа к данным (DAL ) необходимо.

Есть некоторые правила поведения провайдера . Реализация поставщика должна быть производным от абстрактного базового класса , который используется для определения контракта для конкретной функции . Например, чтобы создать поставщика членства для Oracle, вы создаете новый класс OracleMembershipProvider, который является производным от MembershipProviderBase. базовый класс, например MembershipProviderBase, в свою очередь, является производным от общего базового класса ProviderBase . Класс ProviderBase используется для обозначения исполнителей как провайдера и принудительно реализует требуемый метод и свойство , общие для всех провайдеров. На рисунке 4 показан пример цепочки наследования .

5
ответ дан 5 December 2019 в 15:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: