Factory 模型概觀 (ADO.NET)
ADO.NET 2.0 在 System.Data.Common 命名空間 (Namespace) 中導入了新的基底類別 (Base Class)。 這些基底類別是抽象類別,表示它們無法直接具現化 (Instantiated)。 它們包括 DbConnection、DbCommand 和 DbDataAdapter,而且可由 .NET Framework 資料提供者 (例如 System.Data.SqlClient 和 System.Data.OleDb) 共用。 加入基底類別可簡化針對 .NET Framework 資料提供者加入功能的程序,而且不需要建立新的介面。
ADO.NET 2.0 也導入了抽象基底類別,可讓開發人員撰寫不需仰賴特定資料提供者的泛型資料存取程式碼。
Factory 設計模式
撰寫獨立於提供者以外之程式碼的程式設計模型是以 "Factory" 設計模式為基礎,而這種設計模式會使用單一 API 來存取多個提供者之間的資料庫。 要適當命名此模式,因為它會要求僅用特定的物件來建立其他物件,與實際的 Factory 非常相似。 如需 Factory 設計模式的詳細資訊,請參閱 MSDN 上的<在 ASP.NET 2.0 和 ADO.NET 2.0 中撰寫泛型資料存取程式碼>和<使用 ADO.NET 2.0 基底類別和 Factory 進行泛型編碼>https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/vsgenerics.asp (英文)。
從 ADO.NET 2.0 開始,DbProviderFactories 類別會提供 static (或 Visual Basic 中的 Shared) 方法來建立 DbProviderFactory 執行個體。 然後,此執行個體會根據提供者資訊以及在執行階段提供的連接字串,傳回正確的強型別物件。
請參閱
概念
取得 DbProviderFactory (ADO.NET)