轉(zhuǎn)帖|使用教程|編輯:龔雪|2022-01-07 09:47:15.820|閱讀 291 次
概述:本文針對(duì)Winform開發(fā)的技術(shù)特點(diǎn),對(duì)Winform開發(fā)的快速、健壯、解耦的一些領(lǐng)域提出幾點(diǎn)微薄建議,拋磚引玉,希望大家多加指正。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在Winform開發(fā)領(lǐng)域開發(fā)過十多年的項(xiàng)目中,見證著形形色色的架構(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ù)雜化,雖然引入更多先進(jìn)技術(shù)、更多優(yōu)秀架構(gòu),但同時(shí)也意味著更高的技術(shù)門檻,以及全棧式的開發(fā)需求或要求,Winform開發(fā)依舊占領(lǐng)一席之地。本文針對(duì)Winform開發(fā)的技術(shù)特點(diǎn),針對(duì)自己多年的開發(fā)經(jīng)驗(yàn),對(duì)Winform開發(fā)的快速、健壯、解耦的一些領(lǐng)域提出幾點(diǎn)微薄建議,拋磚引玉,希望大家多加指正。
由于Winform開發(fā)業(yè)務(wù)的日益復(fù)雜化,我們往往需要花費(fèi)很多精力來做一些基礎(chǔ)性的東西,雖然邏輯很簡單,但是一些繁瑣性的工作卻很難避免,那么我們平時(shí)進(jìn)行Winform開發(fā)的時(shí)候,如何才能實(shí)現(xiàn)Winform開發(fā)中的簡化處理呢?
首先我們通過模塊化來切分大項(xiàng)目的復(fù)雜度,然后再次進(jìn)行類繼承的方式減少類級(jí)別的代碼,重用基類特性。
前面我們介紹采用了一些模塊化的方式來組裝項(xiàng)目,可以簡單的理解為積木組合的方式。如權(quán)限管理模塊、字典管理模塊、自動(dòng)更新模塊、人員管理模塊、通訊錄管理模塊、分頁控件、公用類庫等方面,這些可以在項(xiàng)目中根據(jù)情況采用對(duì)應(yīng)的模塊,非常高效,整個(gè)主體框架也有對(duì)應(yīng)接入這些模塊的案例代碼供參考,因此可以更加直觀明了。
而另一方面,我們?cè)趯?duì)類的重用方面,也是精益求精,盡量做到精簡重復(fù)代碼,提高開發(fā)效率的目的。
界面類提供封裝繼承,減少界面的一些繁瑣設(shè)置。
界面通過基類的封裝處理,我們可以把大多數(shù)通用的處理或者邏輯調(diào)用順序進(jìn)行封裝,子類實(shí)現(xiàn)一些特殊的函數(shù)即可,同時(shí)可以統(tǒng)一調(diào)用基類的處理操作。
我們以常規(guī)業(yè)務(wù)模塊界面來分析,主要有明細(xì)查看或編輯界面、列表界面,那么這些界面為了方便使用,我們可以抽象一部分界面處理邏輯或者共有部分內(nèi)容,放在界面基類BaseEdit或者BaseDock等基類里面,如下界面所示。
基礎(chǔ)業(yè)務(wù)類,我們同樣也是采用重用基類方式,實(shí)現(xiàn)接口函數(shù)的封裝處理。
以及業(yè)務(wù)類繼承關(guān)系,當(dāng)然還有其他更多的,基本上都提供一些基類來處理,簡化代碼。
Web API的控制器設(shè)計(jì)對(duì)象繼承關(guān)系,如下所示:
除了這些基礎(chǔ)性的代碼級(jí)別的簡化外,我們更高層次的簡化,可以通過數(shù)據(jù)庫=》代碼生成的方式簡化處理,通過數(shù)據(jù)庫信息,我們可以進(jìn)一步生成我們應(yīng)用業(yè)務(wù)的相關(guān)類或者界面部分,從而可以快速提高開發(fā)效率。
如對(duì)于普通的Winform界面項(xiàng)目,利用代碼生成工具Database2Sharp,我們生成后的項(xiàng)目結(jié)構(gòu)視圖如下所示。
而對(duì)于混合框架方案的項(xiàng)目,我們生成的界面項(xiàng)目結(jié)構(gòu)視圖如下所示。
對(duì)于Winform開發(fā),可以根據(jù)Winform框架或者混合框架的窗體界面類,生成標(biāo)準(zhǔn)的界面代碼,列表界面默認(rèn)具有分頁查詢、導(dǎo)入導(dǎo)出、高級(jí)查詢、編輯、刪除事件綁定,編輯界面則具有獲取數(shù)據(jù)并顯示在控件,保存后執(zhí)行更新或者寫入的操作。
如在代碼生成工具里面,設(shè)置主從表的界面生成如下所示。
生成的標(biāo)準(zhǔn)的主從表界面如下界面所示。
通過框架項(xiàng)目定制化的代碼生成工具,可以快速的生成我們所需要的相關(guān)分層的代碼,并繼承好相關(guān)的類關(guān)系,以及標(biāo)準(zhǔn)調(diào)用代碼,可以極大提高我們應(yīng)用模塊的開發(fā)速度,而且由于利用通過檢驗(yàn)的標(biāo)準(zhǔn)件,開發(fā)出來的模塊,除了快速外,也是健壯的。
另外們把常規(guī)的列表界面,新增、編輯、查看、導(dǎo)入等界面放在一起,除了列表頁面,其他內(nèi)容以彈出層對(duì)話框的方式進(jìn)行處理,如下界面示意所示。
DevExpress Universal 10月正式發(fā)布今年第二個(gè)重大版本——v21.2,此版本正式官宣支持Visual Studio 2022 & .NET6,同時(shí)與微軟最新發(fā)布的Windows 11完美兼容,全面解決用戶各種使用場景問題。 與時(shí)俱進(jìn),從未止步!
本文轉(zhuǎn)載自:
DevExpress技術(shù)交流群5:742234706 歡迎一起進(jìn)群討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自: