框架開源後,學習使用的人越來越多了,所以我也更加積極的用代碼回應了。在框架完成了:資料庫讀寫分離功能 和 分散式緩存功能 後:經過三天三夜的不眠不休,終於完成框架第三個重量級的功能:自動化分散式緩存。源代碼已經提交,源碼地址見:終於等到你:CYQ.Data V5系列 (ORM數據層)最新版本開源了 ...
前言:
框架開源後,學習使用的人越來越多了,所以我也更加積極的用代碼回應了。
在框架完成了:資料庫讀寫分離功能 和 分散式緩存功能 後:
經過三天三夜的不眠不休,終於完成框架第三個重量級的功能:自動化分散式緩存。
源代碼已經提交,源碼地址見:終於等到你:CYQ.Data V5系列 (ORM數據層)最新版本開源了
記得很多年前,大概2010年左右吧,CYQ.Data框架進入快速更新版本階段的時候,
那時候的我會經常在一些技術群里有意無意的說起自己的框架,然後群里總有那麼一些自我而自負的人會說:
你的框架有啥優點呢?我為啥要使用你的呢?看你這起的框架破名就不想使用了....
可能是不擅於表達...
可能是不屑於回答...
可能的確是沒啥優點好說...
忽然就有一種蛋蛋的憂傷...
後來就轉變了心態,轉收費,小眾就小眾,彪悍的人生,不需要解釋......
後來的這些年:
創業的經驗,學會了從產品的思維讓框架的使用簡單化。
技術的沉澱,思考了從架構及分散式思維設計框架。
項目的歷程,促使了框架應用場景的豐富化及自動化。
框架的優勢:
如果現在有人問我框架和其它ORM比起來的的優勢,我只能說,能不比麽?因為早已經不在一個Level上了。
不過既然你們誠心誠意的問了,我就大發慈悲的說了,哈:
5年前V4系列版本圖:
不過我並不想把這些功能當成框架的優勢,因為我覺技術沉澱了一定歲月,只要努力,假以時日都可以造出來。
如今的V5系列版本圖:
V5的功能很多,這裡只重點介紹這五點,因為框架能集成這五點的,目前市面上僅此一家做到了,別無分支。
1:多資料庫互通支持:
V4時的多資料庫支持和其它ORM支持多種數庫類似,做到支持多種資料庫,通常只需要完成介面就可以了;
V5做到多資料庫互通,全宇宙僅此一家。
要做到多資料庫互通,需要研究各種資料庫的數據類型差異,函數差異,需要抽象,需要比對,需要策略思維,需要大量的場景收集。
而DBImport就是一款打磨這個功能的最佳場景,前後花了幾年的時間,才磨到現在的流暢穩定階段。
有時候我覺的,DBImport在海外應該很有市場,畢竟全球也就這一款軟體(這麼便宜)能完成在這麼多種資料庫間任意互通。
2:自動化框架編程:
市場上的ORM,都是單個賦值,單個行數據保存的。
而框架的進化史:單個賦值=》單個UI交互=》批量UI交互=》批量數據交互=》自動化交互
相關的介紹見:http://www.cnblogs.com/cyq1162/p/5634414.html
關於開發框架:(ORM做為數據層+整套解決方案)
目前發現的開發框架的二次開發,都停留在用代碼生成器生成一堆代碼的階段......
沒有代碼生成器就很難寫代碼了,項目艱難了,或者開發周期要無限長了......。
我只能說:曾經我也曾歷過,後來發現了有改良的空間。
基於V5的開發框架:ASP.NET Aries,讓你發現優秀的自動化開發框架,根本不需要什麼代碼生成器。
相關的介紹見:http://www.cnblogs.com/cyq1162/p/5487796.html
3:分散式資料庫(讀寫分離)
市場上的ORM都沒提供這個功能:
原因之一:不好實現;
原因之二:數據一致性不知道怎麼解決;
原因之三:覺得數據量大了,公司都有架構師,架構師會坐業務層面解決這個問題。
由於大環境問題,.NET的市場,少有架構師的崗位,也很缺架構師。
而V5框架,不僅完成了此功能,重要的是:
從單資料庫到分散式資料庫的過渡,在代碼層面,只需要配資料庫鏈接,目前沒有其它框架做到。
4:分散式緩存:
市面上有很多很多分散式緩存組件可以用,但唯一的缺點是,你需要引用組件,修改代碼。
但V5的框架,從單機過濾到分散式,只需要配置伺服器鏈接,目前沒有其它框架做到。
5:分散式自動化緩存:
和第4點的差別是,第4點是手動檔,這裡是自動檔。
方便理解的說類似NHibernate的二級緩存之類的。
聽說很多ORM都實現了對實體的緩存,而且會將緩存命率做為一個賣點。
但是現實的場景卻是:ORM+執行SQL,因此框架的二級緩存沒法用,因為在SQL執行端,無法搞定策略失效策略,和數據及時性問題。
V5的不一樣是,因為天生就對SQL語句的支持,所以緩存策略能全局分析,再加上分散式緩存的啟用,能使自動化緩存立即B格成分散式自動化緩存。
綜述如圖:
好吧,優點就介紹到這裡吧,已經全宇宙無敵了,再B下去,憤青要受不了了。
出格要吐槽的一個觀點:
大部分的人都認為從WebForm到MVC是一種進步,其實我反而認為是一種退步。
從組件化的開發模式,退回原始的手工檔模式。
讓WebForm背負沉淪罵聲的,錶面是ViewState和伺服器控制項,實際而又殘酷的真相是:大部分人都寫不好數據層。
如果讓所有人回到手寫SqlConnection、SqlCommand、SqlDataReader、SqlDataAdapter時代,MVC也一樣被人叼:又慢又難用......
如果那時候有V5框架,WebForm的春天應該持續很長很長......
現在,webform雖然漸行漸遠,但至少它沒有了慢的理由了,因為有了V5。
總結:
這些年,框架一直伴隨個人的成長,已經從小打小鬧的ORM,進化到大打大鬧的ORM了:
從原始的只要能操作資料庫就好,到產品思維,到自動化思維,到分散式架構思維,下一階段,會是什麼思維呢?
當你項目剛開始,開發人員技術弱的時候,它幫你解決效率和性能問題;
當你項目大了後,沒有架構師的時候,它幫你解決分散式架構問題;
而這一切,你現在都免費可得.....(對了,我博客安裝了打賞插件的,哈)
總而言之,言而總之,總總言之,這麼好的框架,泥瑪,竟然開源了......