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