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

StackOverflow https://stackoverflow.com/questions/2476233

  •  21-09-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

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

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

Для дополнительной информации: Поставщики Microsoft ASP.NET 2.0:Введение

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

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top