ファクトリ モデルの概要 (ADO.NET)
更新 : November 2007
ADO.NET 2.0 では、System.Data.Common 名前空間に新しい基本クラスが導入されました。基本クラスは抽象的な存在です。つまり、直接インスタンス化することはできません。新しい基本クラスとしては、DbConnection、DbCommand、DbDataAdapter があり、System.Data.SqlClient や System.Data.OleDb などの .NET Framework データ プロバイダによって共有されます。基本クラスが追加されたことで、新しいインターフェイスを作成しなくても、.NET Framework データ プロバイダに対して容易に機能を追加できるようになりました。
また、ADO.NET 2.0 で抽象基本クラスが導入されたことにより、開発者は特定のデータ プロバイダに依存しない汎用的なデータ アクセス コードを記述できるようになりました。
ファクトリ デザイン パターン
単一の API で複数プロバイダのデータベースにアクセスできる "ファクトリ" デザイン パターンの使用は、プロバイダに依存しないコードを作成するプログラミング モデルの基礎となるものです。このパターンでは、現実世界の工場のように、他のオブジェクトを作成するためだけに特殊なオブジェクトを使用するため、適切なネーミングがなされていると言えます。ファクトリ デザイン パターンの詳細な説明については、「ASP.NET 2.0 および ADO.NET 2.0 で汎用的なデータ アクセス コードを作成する方法」および MSDN の「ADO.NET 2.0 の基本クラスおよびファクトリを使った汎用的なコーディング」を参照してください。
ADO.NET 2.0 以降では、DbProviderFactory のインスタンスを作成するための static (Visual Basic の場合は Shared) メソッドが DbProviderFactories クラスに用意されています。このインスタンスにより、実行時に指定したプロバイダ情報と接続文字列に基づいて、厳密に型指定された適切なオブジェクトが返されます。
参照
概念
DbProviderFactory の取得 (ADO.NET)