|
WebForums.NET提供者模型-一個早期的原型
相對于微軟建議使用的提供者模型,Andy的提供者模型含有一些不足。一方面,WebForums.NET中提供了單個抽象基類,所有的API定義都聚集在這個類中。其負面作用在于,如果一個客戶僅想定制系統的一小部分,例如用戶信息的存儲方式,那么他必須提供該系統中所有方法的實現。一種更好的方案是,為系統中的每一個邏輯實體創建一個抽象基類。例如,對于一個在線消息板應用程序來說,它可能需要一些類,如UsersProvider,ForumsProvider,PostsProvider,等等。然而,在你提供給一個客戶的提供者數目之間也存在一個平衡問題。更多提供者允許更為細致的系統定制,但是也會相應地提高要求的配置標記的數量。
另外,我已經展示了對WebForums.NET的提供者模型實現代碼的作了進一步改進,以便使其更相似于微軟在ASP.NET2.0中所使用的代碼。我認為,Andy的想法應該是提供者模型的先驅,盡管微軟的提供者模型實現更為清晰且更強壯一些。
一方面,WebForums.NET在2002年三月為微軟所收購;另一方面,RobHoward及其他人又在系統中加入了大量的新特征并且在ASP.NET論壇中以自由方式發行它。TodayRob及其小組成員已經把ASP.NET論壇變成了一個CommunityServer(它簡直把博客、論壇、畫廊、列表服務器、新聞閱讀器等全部融為一體)。今天,Andy所創建的概念與實現被廣泛應用于ASP.NET論壇和CommunityServer中,甚至被應用于許多核心ASP.NET2.0組件中。
三、提供者模型優點
提供者模型提供許多優點。首先,在代碼和后端實現之間存在清晰的分離。不管認證一個用戶的代碼是針對一個SQLServer2000數據庫的Users表還是針對于一個活動目錄存儲,從頁面開發者的觀察看來代碼都是相同的:
DataProvider.Instance().AuthenticateUser(username,password);
NET技術:深入ASP.NET 2.0的提供者模型(2),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。