• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開(kāi)發(fā)教程 > 詳細(xì)頁(yè)面

        實(shí)戰(zhàn) .Net 數(shù)據(jù)訪(fǎng)問(wèn)層 - 23

        實(shí)戰(zhàn) .Net 數(shù)據(jù)訪(fǎng)問(wèn)層 - 23

        更新時(shí)間:2022-04-28 文章作者:未知 信息來(lái)源:網(wǎng)絡(luò) 閱讀次數(shù):

        u 使用現(xiàn)成的框架

        &Oslash; 首選當(dāng)然是.NET Framework即將正式推出的ObjectSpaces!

        &Oslash; 如果希望Total Solution,Borland ECO就是最佳選擇!



        &Oslash; 其它

        n 開(kāi)源項(xiàng)目推薦使用OPF(國(guó)外)

        n 商業(yè)產(chǎn)品推薦使用Grove(國(guó)內(nèi))



        u 設(shè)計(jì)自己的持久層

        &Oslash; 如果希望自己設(shè)計(jì)輪子,那么,最好的參考資料莫過(guò)于這篇文章:http://www.ambysoft.com/persistenceLayer.pdf



        &Oslash; 它山之石,可以攻玉

        此處之它山,非J2EE莫屬,經(jīng)典案例Hibernate早已家喻戶(hù)曉,您還需要等待嗎?

        雖然平臺(tái)不同,但優(yōu)秀的設(shè)計(jì)是大家共同的財(cái)富,.NET guys們快快行動(dòng)起來(lái)吧!



        &Oslash; 代碼是永遠(yuǎn)的老師,請(qǐng)多多關(guān)注這兩個(gè).NET Open Source項(xiàng)目:

        n OPF

        n OJB.NET



        l 小結(jié)

        u Data Access Layer在整個(gè)系統(tǒng)架構(gòu)中的位置

        這是本文最后一幅示意圖,希望帶給您一些幫助:










        u DAF Solution之抉擇篇

        &Oslash; 確定接口是關(guān)鍵:No. 1!

        無(wú)論采用什么技術(shù),這個(gè)總是最最關(guān)鍵的一步:至少,作者是這么認(rèn)為的。



        采用了DAF Solution后,其實(shí)已經(jīng)對(duì)具體使用什么Data Access Logic技術(shù)沒(méi)必要特別Care,只要接口確定,連很多歷史遺留問(wèn)題都可輕松解決了!



        &Oslash; 訪(fǎng)問(wèn)技術(shù)隨心所欲:Just Do It!

        一般做項(xiàng)目前,當(dāng)我們?cè)O(shè)計(jì)Data Access Logic時(shí),大都需要提前決定采用什么技術(shù)架構(gòu),如:Stored Procedure + DataSet / DataTable / DataView(Duwamish模式,結(jié)構(gòu)簡(jiǎn)單,操作方便),或者SQL + Provider Factory + DataReader + Entity(PetShop模式,性能不錯(cuò),可移植能力強(qiáng)),而采用了DAF Solution后,這些不再成為阻礙系統(tǒng)架構(gòu)師進(jìn)行Data Access Logic設(shè)計(jì)時(shí)的障礙了!



        你完全可以這么做:設(shè)計(jì)時(shí)全部采用Duwamish模式,而在實(shí)現(xiàn)時(shí)(可能基于性能考慮)將部分Data Access Logic操作調(diào)整為PetShop模式。甚至,如果其它Layer的調(diào)用者對(duì)ADO.NET不是特別熟悉(很正常),也可以決定在某些Data Access Logic的內(nèi)部使用O/R Mapping,通過(guò)Entity Fa&ccedil;ade返回后可以很輕松地以O(shè)O的方式進(jìn)行后續(xù)處理!



        不過(guò),盡管如此,還是有些Issues需要具體情況具體分析:

        (1) Stored Procedure在帶來(lái)便利、高性能的同時(shí),也有移植上的問(wèn)題需要考慮;

        (2) O/R Mapping在提高易用性的同時(shí),也為性能、復(fù)雜度付出了一定代價(jià);

        (3) 何時(shí)采用DataReader,如何更快的訪(fǎng)問(wèn)DataSet,始終是個(gè)難以取舍的問(wèn)題(雖然作者曾經(jīng)對(duì)此作過(guò)斷言),愛(ài)恨兩難啊!

        (4) 是否使用Distributed Process?安全問(wèn)題又如何解決?.NET Remoting沒(méi)有給出很好地解決方案,WebServices雖然有,但能保證與其它系統(tǒng)兼容嗎?



        僅舉4例,可見(jiàn)一斑。

        雖然這些現(xiàn)實(shí)問(wèn)題都要一一解決,但在DAF這棵大樹(shù)下,您還是有較大的自由度,不必再為統(tǒng)一架構(gòu)設(shè)計(jì)而頻添很多煩惱了!



        &Oslash; Storage不在話(huà)下:Data Entity Facade!

        在這里,作者認(rèn)為,或許稱(chēng)之為“Persistence不在話(huà)下”更貼切一些。

        可以這么說(shuō),DAL的基石來(lái)自DAF,而DAF和外界的Bridge則是Data Entity Fa&ccedil;ade。正是其統(tǒng)一的外表才讓我們得以自由應(yīng)付隨時(shí)可能發(fā)生的各種變化!



        返回XML?沒(méi)問(wèn)題!

        返回XML后不想修改調(diào)用代碼?很簡(jiǎn)單,做個(gè)EntityConvert!



        O/R Mapping很酷,讓我返回對(duì)象吧?改一下配置文件,再寫(xiě)個(gè)

        O/R Mapping Data Access Logic!是不是也很酷啊?



        DataSet令我們的系統(tǒng)不堪重負(fù),客戶(hù)最近頻繁投訴:您呼叫的

        網(wǎng)頁(yè)暫時(shí)沒(méi)有應(yīng)答,請(qǐng)稍后再刷,咋辦呢?

        這也不難:撤下DataSet,換上DataReader,Data Entity

        Fa&ccedil;ade已將不同的數(shù)據(jù)訪(fǎng)問(wèn)基站構(gòu)建到您的Server上,它

        會(huì)確保您的系統(tǒng)99.98%位于服務(wù)區(qū)內(nèi)(還有0.01%可能是您

        忘打.NET Framework的最新Patch了,剩下的0.01%也很好

        辦,快去買(mǎi)條新內(nèi)存or加個(gè)CPU吧)!



        ……(如您需要返回其它系統(tǒng)無(wú)法辨認(rèn)的東東,請(qǐng)撥打如下免費(fèi)電話(huà):800820xxxx,DAF Solution小組將為您提供幫助……)



        u n-Tier架構(gòu)下n之真諦

        很簡(jiǎn)單,2句話(huà)結(jié)尾:

        n==?不重要,關(guān)鍵是:數(shù)據(jù)訪(fǎng)問(wèn)層!

        若要架構(gòu)好,接口是命脈!



        l 參考

        u MSDN

        &Oslash; .NET Framework 1.2 Documentation

        &Oslash; Longhorn SDK

        &Oslash; Data Access and Storage

        &Oslash; C# 2.0 Specification

        u Design Patterns

        &Oslash; GOF 23

        &Oslash; Microsoft Patterns & Practices

        u Community

        &Oslash; The Microsoft .NET Framework Community

        &Oslash; TheServerSide.NET

        &Oslash; ASP.NET Starter Kits

        &Oslash; The Code Project

        &Oslash; Dot Net Persistence

        u 其它

        &Oslash; Developing the Microsoft Business Framework

        &Oslash; Borland ECO

        &Oslash; Constructor

        &Oslash; DotNetNuke

        &Oslash; Rational XDE

        溫馨提示:喜歡本站的話(huà),請(qǐng)收藏一下本站!

        本類(lèi)教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 久久精品国产亚洲AV大全| 亚洲综合伊人久久综合| 亚洲国语在线视频手机在线| 国内精品久久久久影院免费| 国外亚洲成AV人片在线观看| 一级做α爱过程免费视频| 亚洲av午夜精品一区二区三区 | 亚洲欧洲国产综合| 91人成网站色www免费下载| 久久亚洲精品中文字幕无码| 91福利视频免费观看| 亚洲精品无码久久毛片波多野吉衣 | 亚洲a视频在线观看| 国产精品成人免费一区二区| 亚洲午夜福利在线视频| 成人永久免费高清| 无忧传媒视频免费观看入口| 自拍偷自拍亚洲精品第1页| 暖暖免费在线中文日本| 91大神亚洲影视在线| 国产精品美女午夜爽爽爽免费| 色偷偷亚洲第一综合网| 亚洲中文字幕丝袜制服一区| 免费的全黄一级录像带| 亚洲黄色高清视频| 破了亲妺妺的处免费视频国产| 深夜福利在线视频免费| 亚洲国产成人片在线观看| 18禁美女裸体免费网站| 亚洲av永久无码| 亚洲午夜久久久久久噜噜噜| 97视频免费观看2区| 亚洲乱码av中文一区二区| 在线亚洲精品自拍| 日本片免费观看一区二区| 亚洲AV无码专区在线电影成人| 亚洲一区AV无码少妇电影☆| 亚洲免费一级视频| 337P日本欧洲亚洲大胆精品| 亚洲国产成人精品不卡青青草原| 最近2019中文字幕mv免费看|