亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

剖析.Net下的數據訪問層技術(3)

2019-11-18 12:06:42
字體:
來源:轉載
供稿:網友

  O/R Mapping
  O/R Mapping的全稱是:Object Relational Mapping,主要目的是在傳統RDBMS與OO Language之間建映射關系,從而使開發人員徹底脫離數據持久這片剪不斷理還亂的苦海。
  
  關于O/R Mapping或者近來比較熱門的O/X Mapping(大家可以參考“程序員,2004.01,P86”),可能需要專門的文章進行具體論述,本文的目的主要是對現有方案的優缺點進行簡單剖析以及提供一些實踐中的參考信息。
  
  相比較J2EE平臺,.NET下的O/R Mapping可謂沒什么歷史,至今還尚未有經過考驗的成熟的可用方案。但是,隨著各大廠商的重視以及開源項目的如火如荼,.NET O/R Mapping的步伐也開始慢慢跟上,使這塊本屬于J2EE的領地加入了新的競爭對手(會不會使更多的開發人員投入.NET陣營?J),也讓眾多疲于在SQL Clause或ADO.NET中往返奔命的DAL開發人員看到了“光明之路”。
  
  接下來,就讓我們一起看看在這片比ADO.NET更廣闊的土地上有些什么值得探討的Solution。
  
  Open Source
  開源方面一直與.NET保持一定距離,O/R Mapping更是寥寥無幾,但就作者的下載試用和源碼分析來看,個人以為如下的兩個解決方案還是有一定參考價值的:OPF,OJB。
  
  有關這兩個開源項目的簡介,大家可以參考“程序員,2004.01,P13”。
  
  OPF的全稱是:Object Persistent Framework。
  
  OJB的全稱是:ObJect Relational Bridge。
  
  在實現手法上,這兩個方案的思路完全不同,具有各自的代表性。
  
  OPF走的路線有點類似于Typed DataSet或Borland ECO(請參考下面的介紹),實現比較簡單,提供更多的源碼級控制;而OJB的實現則類似于Microsoft ObjectSpaces(請參考下面的介紹),采用了配置文件的方式,相對就比較復雜了。
  
  這兩個方案的基本框架如下所示:
  
  OPF:
  
 剖析.Net下的數據訪問層技術(3)(圖一)

  從圖中不難看出:
  
 ?。?)  Persistent類扮演了DataSet的角色,除了常規的對象數據操作外,還可以設定不同對象間的關系(如主從關系,集合關系等,這一點在Borland ECO所生成的代碼中也可略見一二),這也是上文所說“提供更多源碼級控制”的原因所在;
  
 ?。?)  PersistentSqlDataManager則扮演了DataAdapter的角色,通過預先設置的Commands來執行真正的數據庫操作;在實際撰寫的employee data manager中,開發人員確實需要提供基本的SQL語句,就像在SqlCommond中設置的那樣(Borland ECO則更進一步,以OCL代替了SQL);
  
 ?。?)  ObjectBroker的作用非常重要,它是對象與數據間的橋梁,RegisterPersistent方法建立了這種虛擬(Object)與現實(RDBMS)間的關系;
  
 ?。?)  在employee business object的聲明中,對象屬性與數據庫字段的對應關系是通過.NET Attribute機制體現的,所以修改起來還是比較方便的,雖然相比配置文件的方式顯得不夠靈活(請參考OJB的介紹),比如:需要重新編譯,開發人員不得不關注數據庫字段等。
  
  OJB:
  
剖析.Net下的數據訪問層技術(3)(圖二)

  從圖中不難看出:
  
  (1)  該方案的實現比較復雜,但用戶需要實際撰寫的代碼變少了(只需要編寫employee business object),這其中的要害就在于引入了配置文件;同時,由于配置文件的引入,我們在hello world application中也不需要調用類似OPF解決方案(請參考上文的OPF類圖)中的RegisterObject方法,所有這一切(甚至包括數據庫連接信息),系統都已了如指掌!
  
 ?。?)  該方案中,SQL命令通過Criteria類被徹底替代,而QueryFacade則充當了Adapter的功能,通過PersistenceBroker這一真正的Command與數據庫進行通信;
  
 ?。?)  無論是repository.xml配置文件,還是Criteria、QueryFacade類,我們都可以在ObjectSpaces(請參考下面的介紹)中找到類似的實現(難道是巧合?),同時,作者個人以為,這種方式也更符合O/R Mapping的精神,減輕了開發人員的負擔!
  
 ?。?)  OJB還有一個非常cool的工具“repositorygen.exe”,可以用來生成repository.xml配置文件(同樣的,源碼無償奉上J),這一點,甚至連ObjectSpaces都沒能做到(想想那么多字段、屬性、關聯、映射,簡直可以讓人發瘋)!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人动漫网站在线观看| 不卡av在线播放| 亚洲精品欧美日韩专区| 欧美大片欧美激情性色a∨久久| 日韩欧美国产中文字幕| 国产午夜精品视频免费不卡69堂| 成人天堂噜噜噜| 亚洲色图日韩av| 主播福利视频一区| 国产精品视频网址| 最好看的2019的中文字幕视频| 欧美噜噜久久久xxx| 久久99国产精品自在自在app| 久久精品国产欧美激情| 亚洲男人天天操| 久久国产精品久久久久| 国产91精品在线播放| 中文字幕日韩在线观看| 91高清免费视频| 福利精品视频在线| 91视频88av| 国产精品一区二区电影| 国内精品一区二区三区| 久久国产精品电影| 日韩精品极品视频免费观看| 88国产精品欧美一区二区三区| 在线性视频日韩欧美| 亚洲激情在线观看| 欧美电影免费观看高清| 国产精品久久久久久久天堂| 日韩成人激情影院| 欧美肥婆姓交大片| 国产97色在线| 精品香蕉在线观看视频一| 在线观看国产精品91| 萌白酱国产一区二区| 国产精品老女人视频| 中文在线资源观看视频网站免费不卡| 九九热这里只有精品免费看| 精品国产户外野外| 日韩亚洲精品视频| 成人精品一区二区三区电影免费| 欧美成人免费观看| 中文在线不卡视频| 456国产精品| 欧美一区二区三区四区在线| 色婷婷亚洲mv天堂mv在影片| 高清一区二区三区日本久| 日韩电影在线观看永久视频免费网站| 久久激情视频免费观看| 91麻豆国产语对白在线观看| 国产在线精品一区免费香蕉| 亚洲精品国产成人| 国产成人综合精品在线| 亚洲国内高清视频| 欧美国产日韩中文字幕在线| 另类视频在线观看| 夜夜嗨av一区二区三区免费区| 亚洲欧美日韩区| 日韩av在线免费观看| 一区二区三区国产视频| 成人免费网站在线观看| 成人午夜激情免费视频| 日韩有码在线播放| 欧美黑人一级爽快片淫片高清| 欧美日韩国产一区在线| 97视频在线观看网址| 久久久久久91| 成人免费网站在线观看| 欧美午夜女人视频在线| 992tv在线成人免费观看| 中文字幕最新精品| 国产一区二区三区高清在线观看| 久久久这里只有精品视频| 亚洲精品国产美女| 日韩经典中文字幕在线观看| 成人高清视频观看www| 麻豆一区二区在线观看| 欧美激情亚洲激情| 欧美成人免费一级人片100| 成人激情视频在线播放| 国产精品草莓在线免费观看| 日韩中文视频免费在线观看| 久久99精品久久久久久青青91| 久久99精品久久久久久琪琪| 久久国产精品久久久| 欧美亚洲国产另类| 久久久亚洲福利精品午夜| 欧美在线日韩在线| 国产精品极品尤物在线观看| 久久亚洲成人精品| 欧美国产日韩一区二区三区| 国产性猛交xxxx免费看久久| 国产一区在线播放| 国产在线a不卡| 日本精品久久久| 亚洲男人天堂2024| 成人xxxx视频| 亚洲乱码国产乱码精品精天堂| 日韩精品中文字幕在线播放| 国产精品久久久久久久久久ktv| 日韩理论片久久| 97av在线视频免费播放| 欧美激情亚洲视频| 亚洲国产91色在线| 国产日韩欧美91| 成人h视频在线| 欧美电影免费观看高清完整| 中文字幕一区日韩电影| 欧美做受高潮1| 国产日韩欧美综合| 日韩高清人体午夜| 91精品国产91久久久久福利| 日韩av在线免播放器| 日韩hd视频在线观看| 成人精品视频99在线观看免费| 成年人精品视频| 日韩视频免费在线观看| 国产a∨精品一区二区三区不卡| 欧美人与性动交a欧美精品| 亚洲色无码播放| 久久精品国产精品亚洲| 日本人成精品视频在线| 日韩av中文字幕在线播放| 亚洲视频在线播放| 国产精品视频1区| 日韩av片免费在线观看| 最近的2019中文字幕免费一页| 69影院欧美专区视频| 日本精品一区二区三区在线播放视频| 久久中国妇女中文字幕| 国产香蕉精品视频一区二区三区| 日韩欧美国产中文字幕| 成人中文字幕+乱码+中文字幕| 中文字幕最新精品| 亚洲中国色老太| 日韩美女免费观看| 亚洲精品久久久久久久久| 欧美日韩高清在线观看| 欧美大片免费观看在线观看网站推荐| 亚洲资源在线看| 欧美国产日本在线| 成人欧美一区二区三区黑人孕妇| 日韩精品视频在线观看网址| 色爱精品视频一区| 亚洲一区二区三区乱码aⅴ蜜桃女| 欧美日本啪啪无遮挡网站| 欧美精品videossex性护士| 欧美成年人视频| 亚洲色图在线观看| 久久国产精品影视| 国产精品 欧美在线| 欧美高清不卡在线| 日韩最新av在线| 成人免费直播live| www国产精品com| 亚洲视频在线免费观看| 成人中心免费视频| 91久久国产精品| 成人午夜黄色影院| 中文字幕亚洲一区在线观看| 国产日韩欧美91| 欧美激情第6页| 亚洲伊人成综合成人网|