成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Winform開發框架演化歷史

開發 后端
Winform開發框架方面的文章我介紹很多了,有宏觀介紹,也有部分技術細節的交流,每次我希望能從不同角度,不同方面來介紹我的WInform開發框架,這些其實都是來源于客戶的需求,真實的項目場景。本文主要介紹Winform開發框架的各種演化,適合在各種系統應用場景下的使用過程。Winform開發框架,從技術方向上講,可以分為傳統的Winform開發框架,WCF開發框架。對于這兩種分類,根據數據存放的位置不同,也可以演化成多種應用模式。下面分別對這些演化的Winform框架進行介紹。

1、傳統Winform開發框架

我這里指的傳統Winform開發框架,就是利用數據庫中間件,直接訪問數據庫的一種應用框架,根據數據庫管理系統部署的位置的不同,可能分為單機版(如Access數據庫、Sqlite數據庫等),局域網網絡版(如SqlServer、Oracle等數據庫),局域網網絡版,一般需要的是把數據庫部署在局域網另外一個電腦上,這樣應用和數據庫分開,也有利于性能的提高和數據的分享。

這種開發模式,在dotnet里面,就是利用基于ado.net的操作,實現數據的直接訪問,是一種比較常規的開發模式,不過問題,就是,不能通過互聯網進行數據的訪問,只能在單機或者局域網的環境下進行業務管理系統的部署和使用,相對目前很多分布式的應用來講,有一定的局限性。

不過這種方式也是很常見的模式,常用在一些內部業務管理系統或者一些工作流系統的維護上,由于Winform的體驗性比較好,數據也能有效管理控制,開發部署成本也相對較低,系統開發效率以及應用性能也比較高,因此是一種比較常見的框架表現模式。

如下面我的Winform開發框架界面,就是一個比較標準,傳統式的界面,這種界面一般大家都比較常見。

這種Winform開發框架 是通過數據訪問層訪問各種指定的數據庫,如SqlServer或者Oracle等,一般底層封裝好一點的框架,基本上都會支持多種數據庫,方便在不同的業務中使用。我的傳統Winform開發框架的架構設計圖,如下所示。

 

2、傳統WCF開發框架

 除了以上的傳統的WInform開發框架,基于WInform的技術和WCF的分布式技術,形成了另外一種Winform開發框架,即為WCF開發框架,我這個WCF開發框架的介紹也比較多,絕大多數都是來源于真實的項目應用。其實WCF技術,即可用于Winform上,也可以用于Web上,WCF技術可以用在很多領域,如Web開發、類似Socket通訊的即時通訊應用等,這里介紹的WCF開發框架,是基于Winform的基礎上使用的WCF開發框架。

這里定義的傳統WCF開發框架,是指利用WInform框架的模式,來承載B/S的方式獲取數據進行展示,本地不存儲數據。就是直接獲取數據并在列表控件或者其他基礎控件上顯示數據。

由于WCF框架應用了很多新的技術,以及是基于分布式網絡環境的應用,因此,需要考慮服務的部署,數據訪問的安全性(用戶名密碼訪問、X509證書加密、其他授權訪問),數據響應以及錯誤處理等方方面面,如果是***次接觸,沒有很好的指導及案例學習,可能消化相關的概念并理解,就需要一個不短的過程。

傳統的WCF開發框架,由于是本地不緩存數據,實時通過WCF服務代理,向WCF服務請求數據,獲取數據后進行顯示的過程,開發思路相對比較簡單,因此這種方式在很多WCF應用上,是比較常見的一種。

傳統的基于Winform的WCF開發框架,界面可以和上面的Winform開發框架界面一樣,不過它的獲取數據的機制不同,它不是通過數據訪問類訪問本地的數據庫,而是通過服務器公布WCF服務來獲取不同數據對象,然后再Winform中進行展現,如下面是它的一個訪問機制的示意圖。

對于這個傳統的WCF開發框架的架構,它其實是通過Winform的客戶端WCF代理類,實現和遠端服務器的WCF服務進行通訊,一般是基于Soap協議的XML格式,當然可以很好的配置加密機制,如X509證書加密,這樣傳輸數據就比較安全,同時對于WCF服務,還可以采用基于自定義的用戶名、密碼的驗證方式來有效提高WCF服務接口的安全性。以下是WCF開發框架的架構設計圖,我們從中可以看出,它的應用程序的界面表現層是和WCF服務客戶端代理層有關聯,而代理層和WCF服務層有關聯,這種隔絕了應用程序直接訪問數據庫的弊端,提高數據安全性,同時也使得應用程序實現了分布式的開發應用。

 

3、離線式WCF開發框架

相對于上面介紹的傳統式WCF開發框架,這種離線式的WCF開發框架 ,就是結合了傳統Winform開發框架的數據訪問方式,又利用了WCF分布式數據獲取的特點,使得數據可以離線使用,在一種業務要求集中化,又要求不影響正常業務操作的應用系統場景下比較適合,如我的送水管理軟件網絡版,就是利用這種模式,分店可以獨立維護數據,沒有網絡也一樣可以正常進行業務操作,但是在網絡暢通的時候,可以向總店發送分店的數據,或者獲取總店的公共數據。

這種離線模式的WCF開發框架,是一種對網絡環境要求不高,既可以獨立使用,又可以和總部發生業務數據往來的一種模式。這種場景下,如果不考慮數據同步及上傳的情況下,他就是一個傳統的Winform開發框架模式。

考慮數據同步,就會使得整個離線式的系統可能更加復雜,要求可能需要自身記錄可能的數據變更(添加、修改、刪除),還需要經常性的同步系統公用數據,如果要求同步的間隔比較短,那么我們就要多考慮一些因素。

離線式的WCF開發框架,數據存儲我們一般選擇單機版、方便部署復制的Sqlite數據庫,或者Access數據庫,在一些特別的情況下,才會選擇比較大的SQLServer數據庫或者Mysql數據庫,由于WCF開發框架的應用客戶端和服務器版本的數據庫不同,如果沒有比較彈性化、支持多數據庫的WCF開發框架,這種開發模式,就會比較吃力繁瑣。

離線式的WCF開發框架,一個特點就是基本上顯示,以及保存等操作數據庫的數據,都是本地的數據庫,不是遠端的服務器數據庫,這樣,就需要記錄所有發生變更的數據庫操作,包括寫入,刪除、修改等,以便在網絡暢通的情況下,可以上傳數據到服務器上面。

和上面第二點介紹的傳統式WCF開發框架,這個就是多了一個本地數據庫,這樣可以提高數據的網絡依賴性,其他日常操作的響應,在一些網絡環境不經常連接的地方,可以很好的發揮作用,而且,通過實現把需要更新的數據導出到文件中,還可以實現數據的離線式同步,基本上可以完全獨立于網絡了。

這個模式的WCF框架架構圖,是綜合了Winform開發框架架構設計圖和WCF框架架構設計圖的特點,既有訪問本地數據庫的模塊,也有訪問操作WCF服務的模塊,在不同的地方發揮不同的作用。 

4、混合式WCF開發框架

 除了以上幾種,還有一種是可以在傳統winform開發框架和WCF開發框架之間自由切換,這種其實用傳統式WCF開發框架或者離線式WCF開發框架就可以解決,不過有些人覺得在局域網里面訪問WCF服務,有點小題大做,而且性能也有一定的損失,那么就可以在界面調用具體操作數據類的時候,封裝多一層,通過配置來指向WCF代理類還是Winform框架中的業務訪問類,這種確實也可以實現的。

還有一種情況,就是把系統劃分為很多***模塊(既適應WInform集成,也適應WCF集成),在不同的場合進行不同的開光切換,而且只是一個條件語句的跳轉,就可以實現具體的切換,這樣非常有利于模塊的集成封裝。

綜上所述,我自己在各種項目的框架應用選擇上,都是以最適合客戶場景來進行選型,如一般的小型的業務管理系統,用Winform開發框架能快速給客戶做好系統開發;而對于要求分布式的業務管理系統,工作的時候網絡不成問題的這種,我一般就選擇傳統的WCF開發框架;而對于復雜的,網絡不能保證的,要求分布式應用,數據集中管理的,一般采用離線式的WCF開發框架。如果為了更好開發集成模塊,適應各種場景的集成,那么就可能要求模塊具有混合式WCF開發框架的特點。

原文鏈接:http://www.cnblogs.com/wuhuacong/archive/2012/11/19/2769052.html

【編輯推薦】

  1. WinForm設置用戶控件的按鈕事件
  2. Winform框架之字典數據管理
  3. Winform開發框架之同化對話框樣式
  4. 詳解WinForm窗體間交互的方法
  5. WPF與WinForm對比談 多線程編程優化是關鍵

責任編輯:彭凡 來源: 博客園
相關推薦

2015-09-23 14:14:47

LinkedIn架構解析

2012-08-21 11:26:17

Winform

2013-04-23 09:31:12

Winform開發框架

2012-12-11 10:15:02

Winform開發框架

2011-11-23 09:47:36

Winform

2009-08-20 09:30:03

C#開發WinForm

2009-08-20 10:24:52

C#開發WinForm

2009-10-13 11:32:19

Winform假框架

2011-11-14 10:41:15

Winform數據管理模塊Items

2009-08-19 09:40:57

軟件方法論

2012-07-30 09:32:00

Web

2009-04-13 09:23:41

.NET 2.0Winform經驗

2023-03-06 16:44:41

編程語言開發編碼

2018-05-25 16:32:45

Spring BootJava開發

2009-09-11 10:41:20

C# WinForm控

2013-03-11 10:10:03

2017-04-11 15:43:39

JavaScript模塊演化

2014-10-31 09:48:36

Go語言

2021-03-16 06:38:44

架構分層插件化

2009-07-24 10:41:00

asp.net mvc
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天堂综合网| 中文在线播放 | 欧美女优在线观看 | 中文字幕欧美日韩 | 欧美综合久久久 | 高清人人天天夜夜曰狠狠狠狠 | 中文字幕在线观看一区 | 国产精品久久国产精品久久 | 九九精品在线 | 黄色毛片在线播放 | 国产欧美一区二区精品久导航 | 日本国产一区二区 | 成人在线中文字幕 | 国产欧美日韩综合精品一区二区 | 特级丰满少妇一级aaaa爱毛片 | 成人欧美一区二区三区在线播放 | 欧美无乱码久久久免费午夜一区 | 日韩av一区二区在线观看 | 亚洲一区 中文字幕 | 国产精品亚洲一区 | 91国在线高清视频 | 久久精品视频在线免费观看 | 欧美日韩国产精品一区 | 亚洲免费福利视频 | 最大av在线| 日日操日日干 | 国产伦精品一区二区三区四区视频 | 日韩成人在线观看 | 欧美黑人体内she精在线观看 | 天天躁日日躁xxxxaaaa | 欧美国产亚洲一区二区 | 日韩黄a | 在线观看欧美一区 | 欧美日本韩国一区二区 | 国产精品福利在线观看 | 午夜影院在线观看 | 狠狠久 | 成人在线中文字幕 | 久草在线视频中文 | 五月激情婷婷六月 | 观看毛片 |