从痴迷数据库SQL语句逐渐走进面向对象化(系统的核心以处理对象为主、淡化数据库概念)...
幾年前寫信息管理系統(tǒng)都要設(shè)計很多很多表,每個表都是自己建立的,然后喜歡用高
??性能、高超的SQL語句搞定很多復(fù)雜的商業(yè)邏輯問題,那SQL語句又長又復(fù)雜,一般人
??還讀不懂,但是代碼很少、性能很高,其實軟件公司里并不是人人都是高手,這樣的
??SQL語句其他人也不好仿造也沒能力維護(hù),他們也無法按你的思路搞定復(fù)雜的邏輯,很
??容易變成無法入手,對項目也幫不上大忙的狀態(tài)。
??
??這幾年,由于建設(shè)的信息系統(tǒng)也多了,往往需要在幾個系統(tǒng)之間進(jìn)行集成,例如,你
??的用戶表不在你的數(shù)據(jù)庫里,你的角色數(shù)據(jù)在另外的XML文件里,你無法寫一個SQL語
??句,里面又有從角色XML數(shù)據(jù)里讀取的數(shù)據(jù)又有另外一個系統(tǒng)或服務(wù)里讀取過來的數(shù)據(jù),
??這時往往需要你的系統(tǒng)的健壯性更強大、更靈活、能夠快速按實際需要改進(jìn)。
??
??雖然就這么小小的變化,但對于有多年積累的系統(tǒng)來講,完全按照這個需求去改進(jìn),
??還真不容易,我曾經(jīng)花費3-4個月時間,把系統(tǒng)從面向數(shù)據(jù)庫表,完全修改為面向?qū)ο?br />??的理念,這個真的是一個痛苦的掙扎過程,因為需要很多環(huán)節(jié)都需要進(jìn)行徹底的改變,
??會有放棄改進(jìn)的念頭,但是我還是堅持下來,把整個系統(tǒng)都翻天覆地的改進(jìn)了。
??
??經(jīng)過一番痛苦的改進(jìn)過程,又維護(hù)了一段時間,新系統(tǒng)也漸漸的穩(wěn)定下來了,經(jīng)過這
??幾年的實戰(zhàn),現(xiàn)在的系統(tǒng)真的是有明顯的改進(jìn),系統(tǒng)里很少見到復(fù)雜的SQL語句,都是
??由很簡單的語句,讀取到這些對象,然后通過C#程序處理對象與對象之間的邏輯關(guān)系,
??很少寫超級復(fù)雜的SQL語句了,每個處理步驟都很簡單,把一個復(fù)雜的過程分解成了若
??干個簡單的處理過程,思路也清晰,條理性也強了很多,多種數(shù)據(jù)庫的移植也變得很輕
??松了。
??
??現(xiàn)在數(shù)據(jù)表里的任何一個表都可以刪除掉,把數(shù)據(jù)放在XML文件里或者從其他數(shù)據(jù)庫里
??讀取、甚至從其他服務(wù)程序里讀取,因為系統(tǒng)是基于對象的核心處理,而不是基于數(shù)據(jù)
??庫表、SQL語句的處理思想,這樣就很容易與其他系統(tǒng)進(jìn)行整合及不依賴與某個數(shù)據(jù)庫
??系統(tǒng)了,數(shù)據(jù)也不用重復(fù)存取,減少了冗余。
??
??每個進(jìn)步都是經(jīng)過反反復(fù)復(fù)的對比,推敲后才形成的,我感覺這次的改進(jìn),在編程架構(gòu)
??的身心高度都有明顯的提高,特意寫下來,分享給大家。
??
??簡單的講:信息系統(tǒng)中的數(shù)據(jù)未必都在數(shù)據(jù)庫里,甚至SQL語句不能讀取到表,系統(tǒng)的
??某部分?jǐn)?shù)據(jù)可能在XML里,也可能在TXT文件里,若你手上有個成熟的系統(tǒng),想改進(jìn),
??你就能體會工作量有多大,若是沒有歷史包袱,那是很容易接納這個思想。
??
??數(shù)據(jù)庫技術(shù)出身的開發(fā)人員,很容易犯跟我類似的錯誤,系統(tǒng)里到處是高超的SQL語句,
??若你已犯了跟我一樣的錯誤,要記得面向?qū)ο蠡?#xff0c;別當(dāng)老頑固哦,大型軟件項目開發(fā)
??時確面向?qū)ο蠡潜让嫦驍?shù)據(jù)庫SQL優(yōu)點多多、好處多多,不得不承認(rèn)啊。
??
??按這個理念,管理系統(tǒng)未必就是有什么什么數(shù)據(jù)庫,不是非要建立那些表,也可以從
??以后的系統(tǒng)里讀取,對已有的系統(tǒng)進(jìn)行集成就可以了。
??
??
??
??搞技術(shù)的人不能沒有自己的信念、自己的追求,但是不能拒絕提高,對的有道理的應(yīng)該積極接納。
??提高是點點滴滴積累的,不可能一步到位的,每天一點點進(jìn)步,每年會有明顯的進(jìn)步。
轉(zhuǎn)載于:https://www.cnblogs.com/soundcode/archive/2010/12/26/1917189.html
總結(jié)
以上是生活随笔為你收集整理的从痴迷数据库SQL语句逐渐走进面向对象化(系统的核心以处理对象为主、淡化数据库概念)...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows 2008远程桌面多用户登
- 下一篇: 转:Eclipse中打开文件所在文件夹的