轉(zhuǎn)帖|使用教程|編輯:龔雪|2021-12-31 10:02:25.320|閱讀 272 次
概述:本文針對Winform開發(fā)的技術(shù)特點,對Winform開發(fā)的快速、健壯、解耦的一些領(lǐng)域提出幾點微薄建議,拋磚引玉,希望大家多加指正。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在Winform開發(fā)領(lǐng)域開發(fā)過十多年的項目中,見證著形形色色的架構(gòu)和官方技術(shù)的應(yīng)用,從最早類似Winform模式的WebForm技術(shù),到接著的JQuery+界面組件,再到Asp.net Core的技術(shù)應(yīng)用,以及后來的純前端技術(shù)出現(xiàn),Angular、React、Vue等前端技術(shù)和語言的廣泛應(yīng)用,Web應(yīng)用越來越多,也越來越精細化,從最初的單服務(wù),到單服務(wù)+分布式緩存,再到微服務(wù)集群的各種服務(wù)架構(gòu),Web開發(fā)的體系越來越龐大和復(fù)雜化,雖然引入更多先進技術(shù)、更多優(yōu)秀架構(gòu),但同時也意味著更高的技術(shù)門檻,以及全棧式的開發(fā)需求或要求,Winform開發(fā)依舊占領(lǐng)一席之地。本文針對Winform開發(fā)的技術(shù)特點,針對自己多年的開發(fā)經(jīng)驗,對Winform開發(fā)的快速、健壯、解耦的一些領(lǐng)域提出幾點微薄建議,拋磚引玉,希望大家多加指正。
隨著應(yīng)用模塊的復(fù)雜化,獨立化,這個解耦的問題就是所有場景開發(fā)的共同問題,因此三板斧的操作大多數(shù)類似,雖然Winform特點又有所不同。
以數(shù)據(jù)庫應(yīng)用支持為例,對于不同模塊的應(yīng)用,可能需要同時支持不同數(shù)據(jù)庫,通過配置實現(xiàn)切換不同數(shù)據(jù)庫的調(diào)用。
因此在開發(fā)模塊的時候,我們需要先定義統(tǒng)一的數(shù)據(jù)庫處理接口,然后為不同類型的數(shù)據(jù)庫訪問做一個獨立的實現(xiàn)處理。
在實際需求中,你往往不能決定客戶需要用什么數(shù)據(jù)庫,那么需要根據(jù)實際需求或者環(huán)境進行數(shù)據(jù)庫類型的選型,如果是單機版為了方便可以使用SQLite,如果是已有業(yè)務(wù)系統(tǒng)或者需要響應(yīng)速度快一些的,那么考慮使用SQLServer或者Mysql、有些歷史原因的可能會用PostgreSQL或者Oracle等等。那么框架的彈性就需要支持多種數(shù)據(jù)庫的了,這種支持不能導(dǎo)致太大的工作量最好,否則會弄得焦頭爛額的。
框架底層數(shù)據(jù)庫訪問采用了微軟企業(yè)庫實現(xiàn),因此在處理多種數(shù)據(jù)庫訪問的時候,能夠提供統(tǒng)一的訪問處理操作,同時對不同的數(shù)據(jù)庫支持操作也是非常不錯的。下圖是框架底層數(shù)據(jù)庫的支持情況。
采用不同的數(shù)據(jù)庫,我們需要為不同數(shù)據(jù)庫的訪問層進行生成處理,如為SQLServer數(shù)據(jù)的表生成相關(guān)的數(shù)據(jù)訪問層DALSQL,里面放置各個表對象的內(nèi)容,不過由于采用了相關(guān)的繼承類處理和基于數(shù)據(jù)庫的代碼生成,需要調(diào)整的代碼很少。
而對于更高一級的應(yīng)用數(shù)據(jù)來源,有可能來源于Web API,也有可能來源于數(shù)據(jù)庫,也可能來源于WCF服務(wù)等方式的綜合處理,那么可以再次利用接口,實現(xiàn)分離的方式,再次將實現(xiàn)解耦,標準的三板斧處理操作即可。
混合框架的分層架構(gòu)圖
DevExpress Universal 10月正式發(fā)布今年第二個重大版本——v21.2,此版本正式官宣支持Visual Studio 2022 & .NET6,同時與微軟最新發(fā)布的Windows 11完美兼容,全面解決用戶各種使用場景問題。 與時俱進,從未止步!
本文轉(zhuǎn)載自:
DevExpress技術(shù)交流群5:742234706 歡迎一起進群討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: