プロバイダクラスは、.NETの世界で何を意味するのでしょうか?
質問
このprovider
サフィックスを持つ多くのクラスがあります。 (データ、メンバーシップ、modelmetadata、...)。
場合は、プロバイダクラスと呼ばれるクラスすべきですか?
解決
プロバイダは、主にどのような種類(データベース、XMLなど)のあなたのロジックとデータストア間です。 MSDNには言及します:
プロバイダ抽象ストレージメディアデバイスドライバ抽象ハードウェアデバイスそれほど同じ方法でます。
詳細については:のMicrosoft ASP.NET 2.0プロバイダ:はじめにする
の例:を データベースやXMLでの作業の代わりに、あなたはあなたのネットワーク内のどこかで、ディスク上のフラットファイルストレージと仕事をしたいです。これを管理するには、カスタムプロバイダを構築し、データを保存するために、あなたのロジック内でそれを使用します。
他のヒント
ここMS(http://msdn.microsoft.com/en-us/library/ms972319.aspx)からプロバイダパターンの説明である:
パターン自体が非常にあります シンプルで名前を与えられています それが提供するので、「プロバイダ」 APIのための機能。定義され、 プロバイダは、単にとの間の契約であります APIおよびビジネスロジック/データ 抽象化レイヤ。プロバイダがあります 別のAPIの実装 API自体から。たとえば、 新しいホイッドビーメンバーシップ機能は持っています 静的メソッド Membership.ValidateUser()。ザ・ メンバーシップクラス自体はありませんが含まれています ビジネスの論理;代わりに、単に 構成されたに転送し、このコール プロバイダ。それはの責任です 含まれているためにプロバイダクラス そのメソッドの実装、 呼び出しどんなビジネスロジック層 (BLL)またはデータアクセス層(DAL)です 必要に応じています。
どのようにするためのいくつかのルールがあります。 プロバイダが動作します。プロバイダ 実装は、から派生しなければなりません に使用される抽象基本クラス、 特定の契約を定義します 特徴。たとえば、作成します Oracleのメンバシッププロバイダ、あなた 新しいクラスを作成します OracleMembershipProvider、これ MembershipProviderBaseから派生。 フィーチャベースクラス、例えば、 MembershipProviderBase、順番に 共通ProviderBaseから派生 基底クラス。 ProviderBaseクラスです 実装をマークするために使用 プロバイダと実装を強制的に 必要なメソッドとプロパティの すべてのプロバイダに共通します。図4 継承の例を示します チェーンます。