手把手教你寫乙個ORM(二)

2021-08-29 06:14:10 字數 509 閱讀 3676

昨夜一夜未睡,本來以為下班回家能倒下就打呼嚕的,結果吃了晚飯後反而清醒起來了,於是決定把本打算明天寫的部分提前。

半夜三更不睡覺幹嘛?出來假扮王祖賢阿

根據前面的需求,我們發現需要將配置檔案抽象出乙個元件出來,快取需要乙個單獨的元件,為了適應不同的資料庫需要做成乙個外掛程式架構的,為不同資料庫插入不同的處理元件,為了降低反射的成本還需要乙個元件用來包含介面定義,主類就是乙個loader為資料處理元件提供乙個載入啟動的環境。

這樣子我們定義程式結構如下

主專案yourname.db

配置yourname.db.config

介面yourname.db.inte***ce

資料元件外掛程式

yourname.db.executer

記得吧yourname替換成你自己的名字,當然我不介意你寫成我的。

把介面單另提供專案可以在兩個不相關專案間形成臨時契約,避免迴圈引用問題。

瞌睡來了,小睡一會兒如果起來後天沒亮的話繼續說下面的,如何實現實時載入的配置方法

手把手教你寫ORM(三)

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

手把手教你寫ORM(五)

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

手把手教你寫ORM大全篇

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