日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3,ORM组件XCode(简介)

發布時間:2025/5/22 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3,ORM组件XCode(简介) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

??? XCode是一個輕量級的ORM組件(對象與關系數據庫映射),提供以面向對象的方式操作數據庫的功能,能夠解決90%以上的數據庫操作場景。

??? 做為X系列組件最重要的一員,XCode秉承了簡單實用的特點,力求以最簡單的做法,解決最普遍的問題。

??? XCode最大的“缺點”就是“不支持”多表查詢!為何不支持要加雙引號?那是因為XCode實際上支持多表查詢,只是用起來非常復雜,也不容易講清楚,會嚴重影響基本功能的學習理解,所以逢人問到,我都回答不支持!至于缺點二字加雙引號,是因為XCode有一整套替代方案,在絕大多數情況上,更優于多表查詢。

?

??? 說XCode,就不得不提開發模式。每一個ORM組件,都是在某一種開發模式下,才能表現得最出色,XCode也不例外,我們稱之為XCode開發模式。當然,每個人有自己的想法,有自己的開發習慣,可以嘗試根據自己的習慣去使用XCode,或者稍微修改自己的習慣,也許能有更精彩的用法。

?

??? XCode專注于對象與關系數據庫映射,內部明顯分為上下兩層:

??? 1,下層以DAL作為入口,IDatabase作為接口,各種數據庫實現一個類,實現該接口以支持多數據庫。DAL的兩大代表是Select(查詢SQL,返回DataSet)和Execute(執行SQL,返回影響行數),并且以SQL為key,有一級緩存的支持。DAL還支持DbCommand的查詢和操作,不過就不受一級緩存的支持了。

(DAL層結構圖)

??? 2,上層以Entity作為泛型基類,所有實體類繼承于它。經典的LoadData能夠把DataSet或者DataTable轉化為實體對象集合,每行記錄實例化一個實體對象,每個表字段的值賦值給實體對象的屬性。所以,完全可以以別的方式得到DataSet,然后利用LoadData將其轉為實體對象集合,而不一定需要DAL。可以得知,XCode支持視圖,復雜查詢或者多表查詢可以通過視圖變相解決,不過一般不推薦這么做。增刪改查等操作,XCode實際上通過實體類的元數據等信息,動態拼接SQL,然后調用DAL層實現。

(加載記錄集和數據表)

(執行插入操作,先拼接SQL,再執行)

??? 此兩層結構說明,實際上就是XCode核心原理,任何人都可以根據這個原理來實現自己的ORM。至于結果組件的優劣程度,就看各自的功力以及對細節的考慮了。

?

??? XCode的理念是以面向對象為本,所以于本對象有關的東西都寫在本對象內。所以XCode是一個充血模型

?

??? 所有查詢操作(例如Find、FindAll、FindCount)都是靜態方法,因為它與具體對象無關;而對象操作(例如Insert、Update、Save、Delete)都是成員方法,因為它與具體對象密切相關,代表著對具體對象的操作。這是XCode模型的基本思想,同樣,為實體類編寫業務代碼的時候,也應該嚴格遵循該原則,哪些應該是靜態的,哪些應該是成員的,要嚴格分開。

??? 當然,XCode實體類也支持貧血模型的一些操作方式,只不過操作類還是自身而已,比如Insert、Update、Save、Delete也有靜態方法,而參數就是實體類對象。

XCode的模型,還有一個很重要的意義,就是完全滿足數據源組件ObjectDataSource的要求,使得XCode實體類可以直接充當數據提供者。

(成對出現的FindAll/FindCount,參數完全一摸一樣,正是ObjectDataSource的要求)

??? 本文僅是XCode的一個簡介,說明XCode的結構和開發模式,更詳細的說明請關注后文。

?

大石頭

新生命開發團隊

2010-08-20 00:36

作者: 大石頭 發表于 2010-09-13 01:27 原文鏈接

評論: 2 查看評論 發表評論

最新新聞:
· 是否該讓開發人員跟客戶直接交流?(2010-12-21 07:53)
· 亞馬遜副總裁跳槽Groupon任CFO(2010-12-21 07:50)
· Gmail語音服務將延長至2011年底(2010-12-21 07:49)
· AOL收購個人檔案網站About.me(2010-12-21 07:48)
· AT&T 19.25億美元購入高通 700MHz 低頻頻譜(2010-12-21 07:42)

編輯推薦:Mono又更新了

網站導航:博客園首頁??我的園子??新聞??閃存??小組??博問??知識庫

轉載于:https://my.oschina.net/nnhy/blog/11365

總結

以上是生活随笔為你收集整理的3,ORM组件XCode(简介)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。