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