基于對象關系映射的對象持久化模型的分析與設計.pdf_第1頁
已閱讀1頁,還剩95頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、作為軟件中描述數據的兩種主流模型——對象模型和關系模型,具有不同的理論基礎和模型特點。對象模型用對象來表示現實世界中的事物;利用對象模型,能夠很好地描述和設計復雜的軟件系統(tǒng)。這使得面向對象的設計方法在軟件開發(fā)中大行其道,已經成為業(yè)務數據分析的基礎,成為幾乎所有應用開發(fā)的標準技術。但令人沮喪的是,與其同基于對象模型,理論上模式最相匹配的面向對象數據庫卻無法擔任主流,大多數應用的存儲還要在關系型數據庫中實現。但是對象模型與關系模型對數據的描

2、述方式是不同的:對象包含屬性和行為,對象之間有繼承、關聯(lián)等關系,而關系數據庫包含表、關系及表之間的關系使用主、外鍵表示等。這就突顯出對象模型與關系模型的模式失配問題。 在絕大多數的應用中,內存中暫時存在的對象需要永久的保存在關系數據庫中,使得設計者要花費大量的精力解決對象型數據向關系型數據轉化,并將數據存儲在關系型數據庫中的問題。 實現在關系數據庫存取對象,常用的做法有:第一種方法是SQL語句嵌入到應用代碼即直接編寫SQ

3、L代碼來存取對象;第二種方法是將SQL代碼在專門的數據類(或存儲過程)中編寫;實質是將執(zhí)行SQL操作的源代碼封裝到了數據類中,是一種局部封裝。但著兩種方式都使得對象模型與關系數據庫模式的耦合度大,不容易維護,因為無論是對象還是關系模式的微小改動,都將導致應用程序的重新編譯。只適合小型應用系統(tǒng)或快速原型化。第三種,也是主流方法,即專門編制持久層實現對象和關系之間的映射,這種機制使應用程序的開發(fā)人員不需要了解關系數據庫的模式,也不需要了解操

4、作對象在數據庫的存儲方式就可以透明地操作存儲在關系數據庫中的數據,有利開發(fā)大規(guī)模的應用程序。但由于在設計體系中加入了持久層,勢必造成效率方面的問題,使得在持久層的設計中不單單只是處理模式失配的問題,還要求有相應的機制解決效率等問題。持久層的設計要權衡諸如性能、讀取頻率、可擴展性、空間耗費、支持事務、游標、處理對象標識等,使持久層具有應用系統(tǒng)所要求的功能,并結合實際應用環(huán)境來權衡持久層的各種功能,滿足最基本的、最滿足應用環(huán)境的功能需求。持

5、久層的映射要遵循一定的規(guī)則,不同的持久層所支持的映射規(guī)則是不相同的。但一般的ORM都要支持類、屬性、方法的映射、關系映射、繼承的映射、數據完整性的映射等基本功能。本文對映射規(guī)則結合實例進行了深入分析,介紹了各種映射概念、方法,同時對實現同一目標的不同方法進行了橫向的對比,有的還給出了使用原則。 目前流行且非常成熟的J2EE是主流的創(chuàng)建企業(yè)級應用的平臺,JDO是其輕量級的版本,但作為中間件也存在著諸如占用資源過多,依賴于XML,的

6、數據實體表示方式的特點;而微軟的.NET出現的時間比較短,目前在這個平臺上沒有成熟統(tǒng)一的架構,本文描述和設計的便是基于微軟的.NET的的中間件的架構,嚴格地說它不是狹義上的對象關系映射及持久化工具,因為它站在軟件整體設計的視角以數據實體和數據訪問作為核心實現目標,同時預留和簡單實現了實體控制、業(yè)務規(guī)則等功能。 本文提出的Netlight一種主要解決對象關系映射,數據庫訪問的中間件的架構,雖然是一種輕量級的、相對來說較簡單的架構,

7、但是它的架構基于分層,結構清晰,經過功能的強化,在添加更多的模塊之后是可作為一個企業(yè)級的、具有較大的擴展性、耦合度較小的中間件框架。跟常用的框架的分層的區(qū)別在于對數據實體層進一步細分為數據實體和數據操縱層,使得業(yè)務邏輯層的代碼更清晰,和數據實體層的耦合度進一步降低。Netlight分層設置為業(yè)務外觀層、業(yè)務邏輯層、實體控制層、數據實體層和數據訪問層的五層架構來封裝不同數據庫的連接訪問、數據表示、數據的查詢、插入、刪除及修改等,以及業(yè)務的

8、邏輯處理和業(yè)務服務的提供,使上層只需要調用下層封裝過的操作,而不必關心其實現細節(jié),各行各職,減少了系統(tǒng)和存儲介質及各功能單位的相互耦合,使代碼清晰度高,具有較高的可維護性,可使軟件設計中的部分工作可以并行,提高了開發(fā)效率。關于Netlight的類結構,本文詳細介紹并結合實例分析了系統(tǒng)的映射規(guī)則、數據庫訪問的封裝、數據實體的表示、數據實體的控制、業(yè)務邏輯及業(yè)務服務的提供等等,列出了實現層次功能的關鍵類、常用方法以及類間的調用關系等。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論