今天我想分享一下我自己的ORM框架,雖然談不是很好,但我個人認為還是蠻好用的,跟大家分享交流一下。
首先說說我對現(xiàn)在主流的ORM框架的一些看法:
優(yōu)點:
讓程序員不再關(guān)注數(shù)據(jù)庫細節(jié),專心在業(yè)務(wù)邏輯上,程序員可以不懂?dāng)?shù)據(jù)庫就可以開發(fā)系統(tǒng)。
讓數(shù)據(jù)庫遷移變的非常方便,如果系統(tǒng)需要更改使用的數(shù)據(jù)庫,直接改配制就好了,不要再管不同數(shù)據(jù)庫之間的語法差異。
省時,可快速開發(fā),因為不需要自己寫復(fù)雜的SQL語句,不需要封裝復(fù)雜的數(shù)據(jù)底層,這樣可以節(jié)省很多時間。
缺點:
我覺得不懂?dāng)?shù)據(jù)庫的程序員不是好程序員,ORM不能幫你生成所有的業(yè)務(wù)語句,有些復(fù)雜的生成不了,還是需要寫SQL,例如復(fù)雜的報表。
配制過于繁瑣,出錯后不好定位問題點在哪。
性能低,因為它內(nèi)部是使用了大量反射,還有數(shù)據(jù)庫檢測,造成性能必然低下。
需要額外的學(xué)習(xí)成本,雖然不需要學(xué)習(xí)數(shù)據(jù)庫,但是需要學(xué)習(xí)ORM語句。
容易引起不規(guī)范開發(fā),因為ORM可以在任何地方寫ORM語句然后調(diào)用開發(fā),這樣對于初始程序員來說他們很可能在系統(tǒng)的任何地方亂丟ORM語句,這樣給維護帶來了很大的難度。
因為我一直都不看好這些ORM框架所以缺點寫多了點,可能還有些優(yōu)點是我不知道的,路過的人要是知道可以給我留言,我再補上。
那現(xiàn)在來談一下我自己的ORM框架,之所以稱它為ORM框架是因為,它也達到了上面ORM框架的幾個優(yōu)點。
首先我基于抽像數(shù)據(jù)操作層,寫了一套基于ADO.NET的抽像操作數(shù)據(jù)庫的方法DbHelper
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26