【发布时间】:2011-01-29 09:26:36
【问题描述】:
有很多类都有这个provider 后缀。 (数据、成员资格、模型元数据...)。
什么时候应该将一个类称为提供者类?
【问题讨论】:
有很多类都有这个provider 后缀。 (数据、成员资格、模型元数据...)。
什么时候应该将一个类称为提供者类?
【问题讨论】:
提供程序大多位于您的逻辑和任何类型的数据存储(数据库、xml 等)之间。 MSDN 提到:
提供者抽象存储媒体的方式与设备驱动抽象硬件设备的方式非常相似。
欲了解更多信息:Microsoft ASP.NET 2.0 Providers: Introduction
例如: 您不想使用数据库或 XML,而是希望使用网络中某个磁盘上的平面文件存储。要管理此问题,您需要构建一个自定义提供程序并在您的逻辑中使用它来保存数据。
【讨论】:
这是来自 MS (http://msdn.microsoft.com/en-us/library/ms972319.aspx) 的提供程序模式的描述:
图案本身非常 简单并被命名为 “提供者”,因为它提供 API 的功能。定义,一个 提供者只是之间的合同 API 和业务逻辑/数据 抽象层。提供者是 API的实现分开 从 API 本身。例如, 新的 Whidbey 会员功能具有 静态方法调用 Membership.ValidateUser()。这 成员资格类本身不包含 商业逻辑;相反,它只是 将此呼叫转发给已配置的 提供者。这是责任 要包含的提供程序类 该方法的实现, 调用任何业务逻辑层 (BLL) 或数据访问层 (DAL) 必要的。
有一些关于如何使用的规则 提供者的行为。提供者 实施必须源自 抽象基类,用于 定义一个特定的合同 特征。例如,要创建一个 Oracle 的会员提供商,您 创建一个新类 OracleMembershipProvider,其中 派生自 MembershipProviderBase。 要素基类,例如, MembershipProviderBase,反过来 派生自一个共同的 ProviderBase 基类。 ProviderBase 类是 用于将实施者标记为 提供者并强制实施 所需的方法和属性 对所有供应商通用。图 4 给出一个继承的例子 链。
【讨论】: