首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

BlogEngine.NET 架構與原始碼分析系列 (3) 資料儲存 - Provider 模式實作

     編輯:關於ASP.NET

Provider 模式動機

功能需求穩定 (如儲存文章),實作多變 (XML 檔案、SQL Server、SQLite)。Provider 模式分離介面與實作,支援熱插拔。

.NET 實作三步驟

  1. 定義抽象基類繼承 ProviderBase (如 BlogProvider)。
  2. 實作 ConfigurationSection 讀取 web.config 指定的 Provider 型別。
  3. 執行時透過 ProvidersHelper.InstantiateProvider 建立實例。

BlogEngine.NET Provider 體系

  • BlogProvider:抽象方法 FillPost、InsertPost、DeletePost、SelectPosts 等。
  • XmlBlogProvider:預設,操作 App_Data/posts.xml 等檔案,免資料庫即插即用。
  • DbBlogProvider:ADO.NET 參數化 SQL,支援 SQL Server、SQLite、MySQL 等 (僅需修改 providerName 與連線字串)。
  • MembershipProvider/RoleProvider:複用 ASP.NET 內建驗證授權 Provider。

設計取捨

  • 優點:支援多種儲存媒介,部署彈性極高。
  • 缺點:未使用資料庫進階功能 (FK、觸發器、預存程序),複雜關聯查詢需在記憶體組裝,不適合高複雜度業務系統。

總結

Provider 模式讓 BlogEngine.NET 以最小代價支援多儲存後端,適合其定位的輕量級部落格系統。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved