Winform混合式開發框架的特點總結

来源:http://www.cnblogs.com/wuhuacong/archive/2016/02/26/5219331.html
-Advertisement-
Play Games

Winform混合式開發框架,是一種支持分散式部署的應用模式,支持直接連接資料庫,訪問遠程WCF服務,訪問遠程Web API服務等服務的綜合性框架,根據不同的需求採用不同的數據介面,是一個適應性很廣的應用框架。 混合式開發框架它本身是一個完整的業務系統外,它外圍的所有輔助性模塊(如通用許可權、通用字...


Winform混合式開發框架,是一種支持分散式部署的應用模式,支持直接連接資料庫,訪問遠程WCF服務,訪問遠程Web API服務等服務的綜合性框架,根據不同的需求採用不同的數據介面,是一個適應性很廣的應用框架。  混合式開發框架它本身是一個完整的業務系統外,它外圍的所有輔助性模塊(如通用許可權、通用字典、通用附件管理、通用人員管理、通訊錄管理......)均都實現了這種混合型的框架,因此使用非常方便。

1、多種數據接入方式

《混合式開發框架》混合了傳統《Winform開發框架》、《WCF開發框架》和Web API介面框架的特點,可以在直接訪問資料庫、利用WCF服務獲取數據、利用Web API服務獲取數據三者之間自由切換,統一了系統界面層對業務服務的調用模式,所有組件模塊均實現三種方式的調用,是一種彈性化非常好的框架應用,既可用於單機版軟體或者基於區域網內的應用軟體,也可以用於分散式技術的互聯網環境應用,是一種成熟穩定、安全高效的技術框架。

由於混合型框架,既可以用於傳統Winform系統開發,也可以用於WCF分散式系統開發,還可以用於輕型高效的Web API的分散式系統開發,因此環境適應性強;而且由於模塊具有這些特點,可重用性更高,特別對於通用性的模塊,更是具有無可替代的優越性。

 

2、獨立配置,更少的代碼修改

混合框架所有通用模塊,如果是通過WCF或者Web API服務接入的,那麼客戶端模塊都需要配置好對應的訪問地址。

WCF服務連接,通過獨立配置文件進行配置WCF的連接,減少主配置文件的複雜性;

Web API每個服務的連接地址也是可以通過配置文件進行指定,根據需要採用HTTP或者HTTPS協議進行數據傳輸。

這些接入的配置,都是獨立放在在不同的文件裡面,這樣可以方便集中修改,也方便通過程式界面進行配置調整。如在混合框架裡面,提供了一個管理界面,用來管理這些介面的切換和配置參數的。

其中相關的介面地址參數,可以在管理界面裡面統一進行維護修改。

 

3、提供多種主體界面佈局方式

混合框架提供多種模塊調用方式,可以通過預先配置好的菜單,以插件方式動態構建對應的菜單按鈕,並觸發調用對應的插件模塊進行展示;也可以按常規的添加菜單按鈕方式進行功能按鈕佈局。

混合框架主體界面同時也提供多種界面佈局方式,可以按標準的頂欄菜單模式展示,如下所示。

也可以在左邊放置類似OutLookBar的功能條,在放置對應的菜單功能樹,這樣可以展示更多的功能模塊,適用於系統功能較為複雜的情況使用。

 

4、代碼生成工具的集成

整個框架的應用開發,代碼生成工具Database2Sharp是靈魂,它圍繞著不同的框架,根據設計好的資料庫信息,生成主體框架信息,把不同類型的類文件放在不同的項目中,實現快速的框架增量開發;另外整個框架的Winform界面和Web界面,都可以快速生成,稍微調整下即可實現專業性界面的設計開發工作,並能夠迅速編譯運行起來,從而實現快速、高效、統一的框架應用開發。

1)主體框架代碼的生成

EnterpriseLibrary代碼生成時一個整體性項目代碼的生成操作,它能根據設計好資料庫信息以及模板文件,生成一個完整性非常高的項目。一般結合我們的Winform開發框架WCF開發框架、混合型開發框架或者Web開發框架,進行增量式的項目開發,效率更高,而且可以可以利用更多已經開發好的、現成的組件模塊的集成,完美的整合,以及模塊化的封裝,能帶給你無窮的開發樂趣同時,使得項目無論從代碼風格、用戶界面、設計理念,都能保持很好的統一,快速優雅的完成碰到的項目。

代碼生成工具,生成整體性的混合型框架項目如下所示,只是沒有下圖的界面部分,這部分在實際開發過程中,結合我的混合型框架案例進行整合即可,另外也可以界使用Database2Sharp進行Winform界面的開發,這樣整體性就非常方便操作了:

 

2)界面代碼的生成

界面開發,無論對於Web開發,還是Winform開發,都需要耗費一定的時間,特別對於一個資料庫欄位比較多的界面,一般就需要在編輯界面上擺的更多的控制項來做數據顯示,每次碰到這個,都有點頭痛,反覆的機械操作讓人挺累,也很煩,但是又必須這樣做。

由於資料庫欄位和界面的排版都有一定的關聯關係,因此可以通過代碼生成工具Database2Sharp的資料庫元數據,包含表名稱、備註信息、欄位列表,以及每個欄位的名稱、備註、類型等信息,構造一個基礎的界面,把重覆機械的部分給快速完成,這就是我所說的界面快速生成。當然,對於精緻的界面,機械的生成肯定不能滿足我們的需要,因此真正的界面需要在這個基礎上修改完善一下,但是由於重覆勞動部分,已經給工具處理掉了,因此,界面開發效率會大大提高。

Winform界面可以生成標準的列表展示界面,也可以生成主從表界面,基本上適應了大多數的情況。

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [hierarchyid] 是個不錯的數據類型,提供了很方便並且高性能的樹型查詢,網上找了很多資料都沒有講到如何做到動態插入這個關鍵點,從MSDN認真看了下資料寫出了一個DEMO CREATE TABLE EmployeeOrg ( OrgNode hierarchyid PRIMARY KEY C
  • 1.一個項目中的真實問題 實際項目中,本想通過C#製作小工具生成SHP的二進位空間索引文件,然後java服務端解析該空間索引文件進行使用。 在真實使用中發現java端解析的該文件內容與C#寫入的差別非常大,比如java中解析到的double均為非常大的負數。 2.排查問題 2.1 測試是否C#寫入有
  • 假設當前頁完整地址是:http://www.test.com/aaa/bbb.aspx?id=5&name=kelli "http://"是協議名 "www.test.com"是功能變數名稱 "aaa"是站點名 "bbb.aspx"是頁面名(文件名) "id=5&name=kelli"是參數 【1】獲取 完
  • System.Net.Http相關dll 報錯提示:500 Internal Server Error 測試站點上的問題,本地沒出現這個問題 後來經提醒,試了一下將sina所需要的dll都放進去,就成功了。 大概是因為引用sina的dll,其所需要的dll並沒有生成,發不上去後,bin文件下的dll
  • 老早就被各種推薦《CLR via C#》這本書了,然而一直沒去學。 因為工作中所需要的.NET功底目前算是足以應付了,而前端卻不熟,所以跑去學了一段時間前端的知識。 終於算是把前端方面的基礎學習計劃完成,工作中也完全有能力應付了,有時間來看看這本神書了。 依然像以前一樣買了本實體書,看了看,有700
  • 本文主要說明如何在Entity Framework 5.0.0中使用Function Import,以及使用ODP.NET的 Implicit REF CURSOR Binding功能。
  • 遇到這樣一個問題:項目是 MVC,但也包含 WebForm 的頁面,RouteConfig 中設置了這樣一個路由: Web 應用程式下有一個 zt 目錄,並且又一個 Default.aspx 文件,設置路由後,運行還是走的文件目錄,但如果把 url 的 zt 改為 zta,就是可以的,如果把 Def
  • 上一篇:設置窗體透明C#代碼 如果要實現MDI窗體的右鍵菜單,可以添加一個contextMenuStrip(ID設置為:contextMenuStrip_hewenqi),然後設置窗體的ContextMenuStrip屬性為contextMenuStrip_hewenqi效果如下圖: 轉自:http
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...