¿Qué significa una clase de proveedor en el mundo .NET?
Pregunta
Hay muchas clases que tienen este sufijo provider
. (Datos, pertenencia, modelmetadata, ...).
Cuando debería ser una clase llamada como una clase de proveedor?
Solución
Los proveedores son en su mayoría entre la lógica de almacenes de datos y de cualquier tipo (base de datos, XML, etc.). MSDN menciona:
Los proveedores de medios de almacenamiento resumen en la misma forma que los controladores de dispositivo abstracto dispositivos de hardware.
Para más información: Microsoft ASP.NET 2.0 Proveedores: Introducción
Por ejemplo: En lugar de trabajar con una base de datos o XML, que desea trabajar con el almacenamiento de archivos planos en un disco en algún lugar dentro de su red. Para gestionar este se construye un proveedor personalizado y utilizarlo dentro de su lógica para guardar los datos.
Otros consejos
Aquí está la descripción del patrón de proveedor de MS (http://msdn.microsoft.com/en-us/library/ms972319.aspx):
El patrón en sí es muy sencilla y se le da el nombre "Proveedor", ya que proporciona la funcionalidad de una API. Definido, una proveedor es simplemente un contrato entre una API y la lógica de negocios / Datos Capa de abstracción. El proveedor es el implementación de la API por separado de la propia API. Por ejemplo, el nueva función de miembro de Whidbey tiene una método estático llamado Membership.ValidateUser (). los misma clase de membresía contiene ningún lógica de negocios; En su lugar, simplemente reenvía esta llamada a la configurada proveedor. Es responsabilidad de la clase de proveedor para contener la de implantación de dicho método, llamar a cualquier capa de lógica de negocios (BLL) o capa de acceso a datos (DAL) es necesario.
Hay algunas reglas de cómo una proveedor comporta. Un proveedor aplicación debe derivarse de una clase base abstracta, que se utiliza para definir un contrato por un particular, característica. Por ejemplo, para crear una proveedor de pertenencia para Oracle, crear una nueva clase OracleMembershipProvider, que deriva de MembershipProviderBase. La clase base característica, por ejemplo, MembershipProviderBase, a su vez, se deriva de una ProviderBase común clase base. La clase es ProviderBase utilizado para marcar los implementadores como una proveedor y obliga a la implementación de un método y propiedad necesaria común a todos los proveedores. Figura 4 da un ejemplo de la herencia cadena.