版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、作為軟件中描述數(shù)據(jù)的兩種主流模型——對(duì)象模型和關(guān)系模型,具有不同的理論基礎(chǔ)和模型特點(diǎn)。對(duì)象模型用對(duì)象來(lái)表示現(xiàn)實(shí)世界中的事物;利用對(duì)象模型,能夠很好地描述和設(shè)計(jì)復(fù)雜的軟件系統(tǒng)。這使得面向?qū)ο蟮脑O(shè)計(jì)方法在軟件開(kāi)發(fā)中大行其道,已經(jīng)成為業(yè)務(wù)數(shù)據(jù)分析的基礎(chǔ),成為幾乎所有應(yīng)用開(kāi)發(fā)的標(biāo)準(zhǔn)技術(shù)。但令人沮喪的是,與其同基于對(duì)象模型,理論上模式最相匹配的面向?qū)ο髷?shù)據(jù)庫(kù)卻無(wú)法擔(dān)任主流,大多數(shù)應(yīng)用的存儲(chǔ)還要在關(guān)系型數(shù)據(jù)庫(kù)中實(shí)現(xiàn)。但是對(duì)象模型與關(guān)系模型對(duì)數(shù)據(jù)的描
2、述方式是不同的:對(duì)象包含屬性和行為,對(duì)象之間有繼承、關(guān)聯(lián)等關(guān)系,而關(guān)系數(shù)據(jù)庫(kù)包含表、關(guān)系及表之間的關(guān)系使用主、外鍵表示等。這就突顯出對(duì)象模型與關(guān)系模型的模式失配問(wèn)題。 在絕大多數(shù)的應(yīng)用中,內(nèi)存中暫時(shí)存在的對(duì)象需要永久的保存在關(guān)系數(shù)據(jù)庫(kù)中,使得設(shè)計(jì)者要花費(fèi)大量的精力解決對(duì)象型數(shù)據(jù)向關(guān)系型數(shù)據(jù)轉(zhuǎn)化,并將數(shù)據(jù)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)中的問(wèn)題。 實(shí)現(xiàn)在關(guān)系數(shù)據(jù)庫(kù)存取對(duì)象,常用的做法有:第一種方法是SQL語(yǔ)句嵌入到應(yīng)用代碼即直接編寫(xiě)SQ
3、L代碼來(lái)存取對(duì)象;第二種方法是將SQL代碼在專(zhuān)門(mén)的數(shù)據(jù)類(lèi)(或存儲(chǔ)過(guò)程)中編寫(xiě);實(shí)質(zhì)是將執(zhí)行SQL操作的源代碼封裝到了數(shù)據(jù)類(lèi)中,是一種局部封裝。但著兩種方式都使得對(duì)象模型與關(guān)系數(shù)據(jù)庫(kù)模式的耦合度大,不容易維護(hù),因?yàn)闊o(wú)論是對(duì)象還是關(guān)系模式的微小改動(dòng),都將導(dǎo)致應(yīng)用程序的重新編譯。只適合小型應(yīng)用系統(tǒng)或快速原型化。第三種,也是主流方法,即專(zhuān)門(mén)編制持久層實(shí)現(xiàn)對(duì)象和關(guān)系之間的映射,這種機(jī)制使應(yīng)用程序的開(kāi)發(fā)人員不需要了解關(guān)系數(shù)據(jù)庫(kù)的模式,也不需要了解操
4、作對(duì)象在數(shù)據(jù)庫(kù)的存儲(chǔ)方式就可以透明地操作存儲(chǔ)在關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù),有利開(kāi)發(fā)大規(guī)模的應(yīng)用程序。但由于在設(shè)計(jì)體系中加入了持久層,勢(shì)必造成效率方面的問(wèn)題,使得在持久層的設(shè)計(jì)中不單單只是處理模式失配的問(wèn)題,還要求有相應(yīng)的機(jī)制解決效率等問(wèn)題。持久層的設(shè)計(jì)要權(quán)衡諸如性能、讀取頻率、可擴(kuò)展性、空間耗費(fèi)、支持事務(wù)、游標(biāo)、處理對(duì)象標(biāo)識(shí)等,使持久層具有應(yīng)用系統(tǒng)所要求的功能,并結(jié)合實(shí)際應(yīng)用環(huán)境來(lái)權(quán)衡持久層的各種功能,滿足最基本的、最滿足應(yīng)用環(huán)境的功能需求。持
5、久層的映射要遵循一定的規(guī)則,不同的持久層所支持的映射規(guī)則是不相同的。但一般的ORM都要支持類(lèi)、屬性、方法的映射、關(guān)系映射、繼承的映射、數(shù)據(jù)完整性的映射等基本功能。本文對(duì)映射規(guī)則結(jié)合實(shí)例進(jìn)行了深入分析,介紹了各種映射概念、方法,同時(shí)對(duì)實(shí)現(xiàn)同一目標(biāo)的不同方法進(jìn)行了橫向的對(duì)比,有的還給出了使用原則。 目前流行且非常成熟的J2EE是主流的創(chuàng)建企業(yè)級(jí)應(yīng)用的平臺(tái),JDO是其輕量級(jí)的版本,但作為中間件也存在著諸如占用資源過(guò)多,依賴于XML,的
6、數(shù)據(jù)實(shí)體表示方式的特點(diǎn);而微軟的.NET出現(xiàn)的時(shí)間比較短,目前在這個(gè)平臺(tái)上沒(méi)有成熟統(tǒng)一的架構(gòu),本文描述和設(shè)計(jì)的便是基于微軟的.NET的的中間件的架構(gòu),嚴(yán)格地說(shuō)它不是狹義上的對(duì)象關(guān)系映射及持久化工具,因?yàn)樗驹谲浖w設(shè)計(jì)的視角以數(shù)據(jù)實(shí)體和數(shù)據(jù)訪問(wèn)作為核心實(shí)現(xiàn)目標(biāo),同時(shí)預(yù)留和簡(jiǎn)單實(shí)現(xiàn)了實(shí)體控制、業(yè)務(wù)規(guī)則等功能。 本文提出的Netlight一種主要解決對(duì)象關(guān)系映射,數(shù)據(jù)庫(kù)訪問(wèn)的中間件的架構(gòu),雖然是一種輕量級(jí)的、相對(duì)來(lái)說(shuō)較簡(jiǎn)單的架構(gòu),
7、但是它的架構(gòu)基于分層,結(jié)構(gòu)清晰,經(jīng)過(guò)功能的強(qiáng)化,在添加更多的模塊之后是可作為一個(gè)企業(yè)級(jí)的、具有較大的擴(kuò)展性、耦合度較小的中間件框架。跟常用的框架的分層的區(qū)別在于對(duì)數(shù)據(jù)實(shí)體層進(jìn)一步細(xì)分為數(shù)據(jù)實(shí)體和數(shù)據(jù)操縱層,使得業(yè)務(wù)邏輯層的代碼更清晰,和數(shù)據(jù)實(shí)體層的耦合度進(jìn)一步降低。Netlight分層設(shè)置為業(yè)務(wù)外觀層、業(yè)務(wù)邏輯層、實(shí)體控制層、數(shù)據(jù)實(shí)體層和數(shù)據(jù)訪問(wèn)層的五層架構(gòu)來(lái)封裝不同數(shù)據(jù)庫(kù)的連接訪問(wèn)、數(shù)據(jù)表示、數(shù)據(jù)的查詢、插入、刪除及修改等,以及業(yè)務(wù)的
8、邏輯處理和業(yè)務(wù)服務(wù)的提供,使上層只需要調(diào)用下層封裝過(guò)的操作,而不必關(guān)心其實(shí)現(xiàn)細(xì)節(jié),各行各職,減少了系統(tǒng)和存儲(chǔ)介質(zhì)及各功能單位的相互耦合,使代碼清晰度高,具有較高的可維護(hù)性,可使軟件設(shè)計(jì)中的部分工作可以并行,提高了開(kāi)發(fā)效率。關(guān)于Netlight的類(lèi)結(jié)構(gòu),本文詳細(xì)介紹并結(jié)合實(shí)例分析了系統(tǒng)的映射規(guī)則、數(shù)據(jù)庫(kù)訪問(wèn)的封裝、數(shù)據(jù)實(shí)體的表示、數(shù)據(jù)實(shí)體的控制、業(yè)務(wù)邏輯及業(yè)務(wù)服務(wù)的提供等等,列出了實(shí)現(xiàn)層次功能的關(guān)鍵類(lèi)、常用方法以及類(lèi)間的調(diào)用關(guān)系等。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于對(duì)象關(guān)系映射的對(duì)象持久化模型分析與應(yīng)用.pdf
- 基于對(duì)象-關(guān)系映射的CRM持久化技術(shù)研究.pdf
- 基于對(duì)象關(guān)系映射的數(shù)據(jù)持久層框架的改進(jìn)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于對(duì)象關(guān)系映射的數(shù)據(jù)持久層的研究與實(shí)現(xiàn).pdf
- 基于對(duì)象-關(guān)系映射理論的持久框架在Java中的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 對(duì)象關(guān)系映射模型研究.pdf
- 基于ORM的對(duì)象持久化框架的設(shè)計(jì)與應(yīng)用.pdf
- 對(duì)象關(guān)系映射引擎的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于.net的對(duì)象持久化研究與應(yīng)用
- 基于HIBERNATE的JAVA對(duì)象持久化.pdf
- 基于關(guān)系數(shù)據(jù)庫(kù)的對(duì)象持久化研究.pdf
- 映射對(duì)象到關(guān)系數(shù)據(jù)庫(kù)的快速持久層的研究與設(shè)計(jì).pdf
- 基于對(duì)象關(guān)系映射技術(shù)的研究與應(yīng)用.pdf
- 模型驅(qū)動(dòng)的實(shí)體對(duì)象持久化技術(shù)的研究.pdf
- 基于.net的對(duì)象關(guān)系映射技術(shù)的研究與應(yīng)用
- 對(duì)象關(guān)系映射在關(guān)系型數(shù)據(jù)上的分析與實(shí)現(xiàn).pdf
- 基于.net平臺(tái)的對(duì)象持久化組件的設(shè)計(jì)和實(shí)現(xiàn)
- 時(shí)態(tài)對(duì)象關(guān)系映射的研究與實(shí)現(xiàn).pdf
- 面向DCache的對(duì)象關(guān)系映射組件的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于UML的面向?qū)ο髷?shù)據(jù)持久化研究.pdf
評(píng)論
0/150
提交評(píng)論