今天我想分享一下我自己的ORM框架,雖然談不是很好,但我個人認為還是蠻好用的,跟大家分享交流一下。
首先說說我對現(xiàn)在主流的ORM框架的一些看法:
優(yōu)點:
讓程序員不再關(guān)注數(shù)據(jù)庫細節(jié),專心在業(yè)務邏輯上,程序員可以不懂數(shù)據(jù)庫就可以開發(fā)系統(tǒng)。
讓數(shù)據(jù)庫遷移變的非常方便,如果系統(tǒng)需要更改使用的數(shù)據(jù)庫,直接改配制就好了,不要再管不同數(shù)據(jù)庫之間的語法差異。
省時,可快速開發(fā),因為不需要自己寫復雜的SQL語句,不需要封裝復雜的數(shù)據(jù)底層,這樣可以節(jié)省很多時間。
缺點:
我覺得不懂數(shù)據(jù)庫的程序員不是好程序員,ORM不能幫你生成所有的業(yè)務語句,有些復雜的生成不了,還是需要寫SQL,例如復雜的報表。
配制過于繁瑣,出錯后不好定位問題點在哪。
性能低,因為它內(nèi)部是使用了大量反射,還有數(shù)據(jù)庫檢測,造成性能必然低下。
需要額外的學習成本,雖然不需要學習數(shù)據(jù)庫,但是需要學習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