繼續ORM-歐德巴哈猜想-Mapping

來源:互聯網
上載者:User
最近從項目組單離出來開始在公司實施過程化管理,整個QA Office就我一個人,頭頭是我,兵兵也是我,是我是我,還是我。
沒有項目的多座大山壓迫有了更多的時間出來思考,儘管會讓上帝老人家笑個不停,但是我對此樂此不疲,笑不死他小樣地...........
在過程域,過程建模的圈圈套圈圈地密城裡轉悠造成的後遺症就是最近思維跳耀性太大,於是在看到麥當勞漢堡盒子上的M標記的時候猛然想到了ORM。
所謂ORM,故名思意,O-R 之間最重要的Mapping。
在前一段寫到ORM和記憶體資料庫的時候,有個激進的同志揚言最好不要Mapping,讓對象塵歸塵土歸土,對象裡來,就對象裡去,當然這個想法固然是好的,不過,在規避了Reflectiong的陷阱後,我們又掉進了OO的資料如何檢索的問題,IList,沒有索引,檢索單個對象的全列表掃描問題,檢索一個Rang的資料的問題,對象間關係表達的問題,對象間導航的問題,當你避過一個坑之後的,後面還有無數個坑在等著你。

在我看來,適當的Mapping是必要的,沒有Mapping也就不成其為ORM,O,R,M裡邊,毫無疑問的,M反而是最重要的。
第一,Mapping使資料庫和應用之間解耦了,從此資料庫的變化就不足以威脅整個程式架構,不會引發資料庫改變造成的不必要的混亂和品質危機。
第二,程式員來說,資料庫應該是透明的,Mapping解決的程式員去操作資料庫的問題
第三,通過iBaties的方式,操作和mapping解耦了,半自動化的方式實現了SQL語句的人工最佳化問題。

之前談過了LazyLoading的問題,這裡發現還真沒一個好的實現方案,當然這主要看怎麼用了,主取從資料問題多多,從取主問題較少,解決N+1問題就可以了。想了很久,昨晚夜沒睡好,作罷,想起了再繼續寫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.