成人免费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

軟件方法論

2009-04-13 09:23:41

.NET 2.0Winform經驗

2012-07-30 09:32:00

Web

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

2021-03-16 06:38:44

架構分層插件化

2014-10-31 09:48:36

Go語言

2017-04-11 15:43:39

JavaScript模塊演化

2009-07-24 10:41:00

asp.net mvc
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 最新国产精品精品视频 | 精品国产一区探花在线观看 | 日本一区二区不卡 | 亚洲国产一区二区三区在线观看 | 国产视频二区 | 国产精品二区三区 | 九九一级片| 免费在线观看毛片 | 欧产日产国产精品视频 | 国产日韩精品在线 | 欧美精品一区二区免费 | 国产精品一区二区三区在线播放 | 夜夜骚 | 国产这里只有精品 | 欧美在线一级 | 中文字幕精品一区二区三区精品 | a级性视频 | 欧美在线视频一区二区 | 欧美成人精品在线 | 极品的亚洲 | 尤物在线精品视频 | 最新国产在线 | 欧美性网站 | 四虎影音| 91久久久精品国产一区二区蜜臀 | 亚洲国产精品99久久久久久久久 | 国产一区www | 欧美性猛交一区二区三区精品 | 一区二区三区电影网 | 91精品国产乱码久久久久久久久 | 欧美日韩综合一区 | 日本在线中文 | 国产精品7777777 | 国产一区二区精品 | 精品1区2区3区4区 | 日韩影院在线观看 | 久久精品中文字幕 | 国产精品免费视频一区 | 在线观看视频福利 | 一区二区三区视频免费观看 | 亚洲www啪成人一区二区 |