轉(zhuǎn)帖|使用教程|編輯:龔雪|2021-12-17 09:50:13.827|閱讀 467 次
概述:本文針對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)用越來越多,也越來越精細(xì)化,從最初的單服務(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)域提出幾點微薄建議,拋磚引玉,希望大家多加指正。
另一方面,作為Winform的替代者,Silverlight的盛行以及沒落,WPF的逐步應(yīng)用并重用,以及統(tǒng)一的通用 Windows 平臺 (UWP),都充當(dāng)著Winform的終結(jié)者的大任,不過即使應(yīng)用范圍縮減,Winform依舊很頑強,即使.netcore的大環(huán)境下,也依舊保留在Visual Studio 2022中,可見Winform開發(fā)的生命力之頑強。
Winform開發(fā)對比其他有不少優(yōu)點,主要的特點還是開發(fā)方便,基于一定的框架,可以快速開發(fā)特定的業(yè)務(wù)管理系統(tǒng)。下面就WInform這個技術(shù)應(yīng)用做一個個人的概括。
1. 用戶體驗
在Winform應(yīng)用里面,和其他Web系統(tǒng)比起來,它的用戶體驗是最好的,而且界面響應(yīng)速度也比Web界面來的快捷一些,由于很多情況下,用戶考慮使用方便性,如一些報表的展示、打印、導(dǎo)入導(dǎo)出文件的處理等常規(guī)的操作,都還是習(xí)慣使用Winform這種定制型非常好的界面來處理,畢竟大多數(shù)情況下,單位都有一套業(yè)務(wù)和數(shù)據(jù)的管理系統(tǒng)來處理這些業(yè)務(wù)。
2. 數(shù)據(jù)敏感
另外很多情況下,如一些事業(yè)單位、機構(gòu)什么,他們的數(shù)據(jù)是比較敏感的,不希望對外公開,網(wǎng)絡(luò)的引入會提供數(shù)據(jù)外泄的可能,另外它們也是經(jīng)常處于內(nèi)網(wǎng)的環(huán)境下,因此一個單機版的程序就可以搞定他們的日常業(yè)務(wù)處理了,這種特別的業(yè)務(wù)環(huán)境,注定了使用Winform來處理會更勝一籌。
3. 開發(fā)便利
Winform開發(fā)的程序,發(fā)布共享比較容易,直接安裝就可以使用,可以不需要部署在云端(雖然我的混合框架方式可以訪問Web API、WCF等服務(wù)獲取數(shù)據(jù),透明的數(shù)據(jù)處理);而且Winform的界面開發(fā)起來非常方便,結(jié)合界面套件,可以做出非常棒的界面效果。另外從開發(fā)角度上講,Web前端的技術(shù)淘汰非常快,Winform的技術(shù)積累反而是在逐步加固的過程,因此對于一些開發(fā)人員來說,迭代Winform開發(fā)的應(yīng)用會更加方便,也更加熟練,因此只要客戶在用,系統(tǒng)兼容,這種Winform的程序會一直保留下去。
4. 應(yīng)用廣泛
Winform開發(fā)的程序,其應(yīng)用領(lǐng)域真的是覆蓋方方面面,包括常規(guī)的數(shù)據(jù)庫應(yīng)用,以及Socket套接字的處理,底層硬件串口或者Modbus協(xié)議對接,基礎(chǔ)打印、讀卡器、射頻開發(fā)、USB、攝像頭的控制處理等,可以說Web能做的Winform基本都能做,而Winform能做的Web不一定能做到。
對于如何實現(xiàn)Winform應(yīng)用的模塊化開發(fā),其實本身Winform來源于早期Delphi、VB時代,它們已經(jīng)是在控件的拖動處理、事件驅(qū)動方面都已經(jīng)完善至極,對一些簡單的應(yīng)用,拖動一些控件,再增加一些事件響應(yīng)處理即可完成主要的功能,這個也是很多早期共享軟件盛行的重要原因。
隨著程序功能的日益復(fù)雜化,Winform程序呈現(xiàn)模塊化,把一些功能處理、UI界面等按照橫向或者豎向劃分,進行界面性、功能性的不同程度的分離,如出現(xiàn)了很多界面組件,如ActiveSkin/Skin++、DotNetBar、DevExpress等等,它們負(fù)責(zé)界面的渲染和簡單的功能響應(yīng),對于業(yè)務(wù)性的界面則只能由開發(fā)者完成處理,但是已經(jīng)實現(xiàn)一定程度的橫向功能分離了。
通過利用這些UI組件,使得我們的Winform界面更加豐富,就像穿上了很高貴的服飾,面目一新,不過它還是不能解決程序復(fù)雜度的問題,有時候因為界面特性的原因,可能引入更多的復(fù)雜性難題,提供更多更精細(xì)難懂的事件來處理。
在我們開發(fā)一個應(yīng)用的時候,往往需要集成一些應(yīng)用場景,如基礎(chǔ)的用戶、角色、機構(gòu)、權(quán)限、日志等權(quán)限管理系統(tǒng),以及字典參考,附件管理等內(nèi)容,以及一些封裝好的分頁處理控件,公用類庫等支持類庫等。
因此我們在這個基礎(chǔ)上開發(fā)Winform項目,會更加高效快速。
Winform開發(fā)的相關(guān)業(yè)務(wù)邏輯(包括界面UI),都可以封裝在一個簡單的DLL文件中,需要的時候進行引用和調(diào)用即可,使用起來非常方便,這種方便也使得Winform程序的模塊化更加簡單和高效。
通過在解決方案中引入相關(guān)開發(fā)好的模塊,直接調(diào)用使用即可,非常快速簡單。
開發(fā)程序模塊,除了一些業(yè)務(wù)模塊外,大多數(shù)都是類似拼積木的方式,把它們在主界面中引入即可。
而Winform模塊的調(diào)用,只需要簡單的調(diào)用或者帶入相關(guān)參數(shù)即可。
我們Winform框架通過多年積累,也提供了很多基礎(chǔ)的模塊來給我們新業(yè)務(wù)開發(fā)提供便利,如公用類庫、分頁控件、字典管理、權(quán)限管理系統(tǒng)、自動升級、附件管理、人員管理、工作流管理等可以反復(fù)重用的模塊。
有了這些模塊的加持,我們開發(fā)項目很多基礎(chǔ)的處理就不用所有的東西都從頭來過。
軟件和建筑工程很類似,都是需要構(gòu)建一個龐大而功能完整的一個系統(tǒng),而工程化也意味著需要多人協(xié)作,那么就需要把一個龐大的系統(tǒng)橫向或者縱向劃分為各個可以獨立施工完成的模塊,雖然各個模塊之間有所銜接或者交互,但是基本上可以以模塊化的方式來構(gòu)建,這個也是工程化開發(fā)的精髓所在。
以一個軟件管理系統(tǒng)為例,我們盡可能把精力焦點放在客戶的業(yè)務(wù)需求上,而對于常規(guī)的如權(quán)限控制、字典管理等一些常用的內(nèi)容,由于它們的處理邏輯在特定領(lǐng)域上基本上比較固定一些,可以盡可能獨立并重復(fù)使用。
DevExpress Universal 10月正式發(fā)布今年第二個重大版本——v21.2,此版本正式官宣支持Visual Studio 2022 & .NET6,同時與微軟最新發(fā)布的Windows 11完美兼容,全面解決用戶各種使用場景問題。 與時俱進,從未止步!DevExpress 2021最新版本v21.2已正式發(fā)布,慧都獨家搶先解析最新功能、新控件預(yù)覽與應(yīng)用,帶您解鎖2021最強UI控件,助您構(gòu)建出色的應(yīng)用程序!
本文轉(zhuǎn)載自:
DevExpress技術(shù)交流群5:742234706 歡迎一起進群討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: