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了:

從原始的只要能操作數據庫就好,到產品思維,到自動化思維,到分布式架構思維,下一階段,會是什么思維呢?

當你項目剛開始,開發人員技術弱的時候,它幫你解決效率和性能問題;

當你項目大了后,沒有架構師的時候,它幫你解決分布式架構問題;

而這一切,你現在都免費可得.....(對了,我博客安裝了打賞插件的,哈)

總而言之,言而總之,總總言之,這么好的框架,泥瑪,竟然開源了......

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM