1. 程式人生 > 其它 >如何快速開發基於Winform的應用系統

如何快速開發基於Winform的應用系統

在我們實際業務開發中,從頭開發一個應用系統,不管是基於BS的前端專案,還是基於Winform的CS應用系統,都是由容易到複雜,逐步演化的一個開發過程,如果我們基於一定基礎上,並配合一些配套的開發工具,那麼這個應用系統的開發就會變得容易很多,畢竟現在每一個應用系統都是要求要五臟俱全的系統,不僅要長得漂亮,還要有內涵。對於一個基於CS模式的Winform應用系統,開發起來相對比較容易一些,依賴的東西的邊界比較清晰一些,因此大多數可以使用獨立、模組化的方式來開發系統。

1、Winform的應用系統的模組化場景

我們開發一個系統的時候,往往需要對各種資源進行各種處理,如硬體API介面(攝像頭、讀卡器、採集器等)、資料庫訪問(SQLServer、Oracle、Mysql、SQLite、PostgreSQL、MongoDB)、檔案讀寫支援(XML、JSON、文字檔案、圖片等)、快取處理(MemoCache、Redis等),以及第三方的一些介面支援(如微信支付、支付寶、抖音等),當然還有自己業務內部的介面支援,涉及的範圍很大也很廣,不過我們一般來說,一個系統的主要業務還是對資料庫的存取進行處理,因此誕生了很多基於資料庫業務的基礎模組,如基於通用字典讀取和設定的字典模組、許可權管理模組等,這些應用模組,基本上是各個業務系統都需用到的,不同的系統,他們的規則和顯示方式可能有所差異。

如下是一個基礎Winform框架支援的一些模組圖示。

如通用字典管理著整個系統的各種下拉列表或者參考資訊。

許可權管理模組則定義好整個組織機構、使用者、角色、許可權分配、選單資源定義、欄位許可權、資料許可權、黑白名單等配置資訊。

許可權模組中,是相對複雜一點的模組,其中還需要管理各級組織機構的資訊。

 

許可權管理系統模組,可以單獨呼叫登陸後進行展示,也可以通過介面整合的方式,無縫的整合到應用系統中去,作為一個整體應用對待使用。

 

而工作流模組則管理著日常流程表單的處理。

業務模組則是基於我們某個業務範疇開發的一個獨立模組,可能應用到了很多通用的模組,這個也是模組化的精髓。

如下是整合以上一些基礎模組的CRM客戶關係管理系統的內容,也可以簡單的把CRM當成一個複雜一點的業務應用模組。

模組化類似小孩子搭積木的方式構建一個所要的形狀,雖然軟體和建築在這方面肯定更加複雜化,但是模組化系統是大勢所趨,也是簡化開發、易於維護、提高系統健壯性的重要舉措。

隨著應用模組的不斷開發,有一個好的組織架構,縱向統一管理模組中各個區域性分層,會更加方便,因此引入了一個框架的設計模式,以便更好統一各個分層的管理。

Winform開發架構如下所示。

一般框架都支援常見的關係型資料庫,並提供他們對應的支援切換。

另外,一方面,我們可以收集WInform開發中常常涉及到的介面控制元件使用,類庫使用,常規元件使用等一系列的程式碼片段、難點疑點進行整合管理,整理一個綜合的案例提供各種各樣的開發測試案例程式碼,用來輔助開發學習瞭解。

 以及一些雜項的內容收集。

力求在各個方面能夠快速輔助系統的開發。

 

2、Winform的應用系統的開發

在我們實際不斷的迭代開發中,往往會不斷的累積出各個完善的應用模組出來,不過這個過程開發,可以基於我們的配套開發工具進行快速的開發,由於各個模組是基於相同的架構分層,以及對整套系統的一個固定的開發模式,我們可以採用程式碼生成工具來根據資料庫資訊,生成對應分層的專案程式碼,並把它們之間的關係處理好,生成一個完整的解決方案,生成即可編譯通過的完善專案模組。

對於Winform介面來說,有時候,我們需要精細化的定義各種介面部分的內容,因此工具提供配置進行定義,然後再生成。

如在程式碼生成工具裡面,設定主從表的介面生成如下所示。

有了系統框架的通用基礎模組支援,以及基於固定架構的程式碼生成工具輔助開發,事半功倍,而且開發的系統模組更加統一和穩定,並且內建的支援多種資料庫的接入, 基本上能夠覆蓋大多數應用系統的需要。