手把手教你寫ORM(五)

2021-09-05 15:49:15 字數 662 閱讀 9294

cmmi是魔鬼

繼續上面的內容,這裡我們要實現乙個外掛程式的結構來動態從外部載入資料元件,其好處不用我再多說了,可能有人會發問,外掛程式是aop的拿手好戲你咋個不用?真是暈死,就2行**,犯得著引入那麼大一堆東西進來麼?

外掛程式,首先要定義介面,當然通過refrection我們無所不能,但是有乙個定義好的inte***ce對效能的改善來說不是一點半點的。

我們引入乙個新的專案來定義介面,理由呢就是消除迴圈引用。

介面的定義:

1alexander.xbase.inte***ce216

這裡你也可以按照自己的想法來定義,比如需要更細粒度的操作方法等等,反正我是覺得這幾個夠用了,連事務都有了,夫復何求阿......

後頭的事情就很簡單了

我們在主專案裡新增乙個factory的類用來獲取外掛程式的例項:

1alexander.xbase215

16有這麼簡單麼?事情就是這麼簡單,關鍵就這兩行

assembly ass = assembly.loadfrom(path);

iqueriable query = (iqueriable)ass.createinstance(sp.provider);

好了,現在你可以通過修改前一篇提到的資料庫配置檔案來更換使用的資料庫操作元件了。

to be continue.....

手把手教你寫ORM(三)

昨天處於暈死狀態,少寫了乙個元件,還需要乙個元件用來專門管理cache的,這裡說道為什麼要分這麼多元件,其實這是習慣問題,很多人喜歡寫乙個很大的dll,不過我比較喜歡拆分,小粒度的專案比較好管理和單獨測試,把用單元測試驗證好了的小組件湊起來除錯和寫成乙個巨大的dll慢慢一行行的追蹤 肯定是前者更加舒...

手把手教你寫ORM大全篇

根據dudu boss的建議將本系列作乙個歸納,下乙個系列正在籌畫中正在sso和工作流中舉棋不定,在這裡再次重申,本系列都是一些概念的簡單化demo的實現,因為現實中有很多很好的開源框架但是源 讀起來太繁雜,所以我這裡簡化了一下來實現並且把一些中間過程都記錄下來並且加上一些自己的思考,主要是針對一些...

手把手教你寫個ORM(一)

這是手把手系列的第一篇,希望能夠開門紅,高手們可以離開了,菜鳥們請繼續 這裡準備把乙個類似ibaties的半自動orm的設計和實現過程一步步地剖析出來,供菜鳥參考,功能很簡單,甚至我只能用簡陋來形容了,不過把一些關鍵點破後,希望後浪們不用再花功夫摸索了。為什麼我們要重 明輪子?因為不親自經歷一遍發明...