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