国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于MVVM模式的水資源公報(bào)生成系統(tǒng)設(shè)計(jì)與開發(fā)

2014-07-19 07:59陳明明
關(guān)鍵詞:公報(bào)控件應(yīng)用程序

宋 杰,陳明明,吳 勇

(安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 安徽 合肥 230601)

基于MVVM模式的水資源公報(bào)生成系統(tǒng)設(shè)計(jì)與開發(fā)

宋 杰,陳明明,吳 勇

(安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 安徽 合肥 230601)

為解決水資源公報(bào)的生成這一現(xiàn)實(shí)問題,文中應(yīng)用了一種新的設(shè)計(jì)模式--MVVM,提出了一套基于MVVM模式的系統(tǒng)開發(fā)方案.介紹了MVVM模式設(shè)計(jì)思想,以實(shí)際項(xiàng)目為例,給出了具體的實(shí)現(xiàn).實(shí)例表明,將MVVM模式應(yīng)用于系統(tǒng)開發(fā),可以成功地將數(shù)據(jù)、表示和業(yè)務(wù)邏輯分離,用戶界面設(shè)計(jì)師和應(yīng)用程序開發(fā)者可以并行工作,從而提高系統(tǒng)的可維護(hù)性及開發(fā)效率,使系統(tǒng)具有結(jié)構(gòu)清晰、可擴(kuò)展、易測(cè)試的特點(diǎn).

WPF;MVVM;數(shù)據(jù)綁定

目前,安徽省防汛抗旱指揮系統(tǒng)、水雨情監(jiān)測(cè)系統(tǒng)等一系列水利信息化工程都已經(jīng)全面啟動(dòng),有的已初步建成投入使用,并在相關(guān)業(yè)務(wù)應(yīng)用中發(fā)揮了重要作用.但是,由于需要大量的統(tǒng)計(jì)以及計(jì)算,作為水資源情況的概覽——水資源公報(bào)的生成一直是水資源管理部門的難題.現(xiàn)在,水雨情等數(shù)據(jù)庫已經(jīng)建成投入使用,計(jì)算機(jī)軟件開發(fā)技術(shù)日益成熟,水資源公報(bào)生成系統(tǒng)設(shè)計(jì)與開發(fā)也就被提上日程.盡快開展安徽省水資源公報(bào)生成系統(tǒng)建設(shè)是實(shí)現(xiàn)全面落實(shí)水利信息化建設(shè)總體部署的現(xiàn)實(shí)需要.

本文提出了一套結(jié)合了WPF和MVVM等技術(shù)的水資源公報(bào)生成系統(tǒng)設(shè)計(jì)與開發(fā).文章以下部分將論述MVVM模式和本系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn).

1 WPF簡(jiǎn)介

WPF(Windows Presentation Foundation)是微軟推出的新一代顯示系統(tǒng),運(yùn)行在.NET Framework 3.0及以上版本,用于生成給用戶帶來震撼視覺體驗(yàn)的 Windows客戶端應(yīng)用程序和瀏覽器承載的應(yīng)用程序(見圖1).WPF的核心是一個(gè)與分辨率無關(guān)且基于向量的呈現(xiàn)引擎.WPF是 Microsoft.NET Framework的子集 ,它使用 Extensible Application Markup Language(XAML)標(biāo)記語言,XAML是基于 XML的標(biāo)記語言,實(shí)現(xiàn)應(yīng)用程序外觀,同時(shí)又用托管語言(例如 C#或 VB)實(shí)現(xiàn)其行為代碼[1].這種方式是界面描述與程序代碼的分離,降低了耦合度,提高了開發(fā)效率,而且可以使用多種工具開發(fā)XAML外觀.WPF在多媒體服務(wù)處理中,幾乎涵蓋了所有的媒體類型:DirectX3D效果、硬件加速,同時(shí)在動(dòng)畫處理上也不遜色于 Adobe Flash,WPF使用的 ClearType技術(shù),可以利用硬件加速來提高性能,以減少 CPU負(fù)載和系統(tǒng)內(nèi)存需求.通過使用像素著色器和圖形卡的視頻內(nèi)存,ClearType可以更快的呈現(xiàn)文本.當(dāng)使用動(dòng)畫時(shí),此優(yōu)勢(shì)更為明顯.

圖1 WPF核心組件

2 MVVM 簡(jiǎn)介

MVVM(Model-View-ViewModel)框架是MVP(Model -View-Presenter)模式與WPF結(jié)合產(chǎn)生的一種新型架構(gòu)框架,它立足于原有 MVP框架并且把 WPF的數(shù)據(jù)綁定技術(shù)與命令綁定技術(shù)等新特性揉合進(jìn)去,以應(yīng)對(duì)客戶日益復(fù)雜的需求變化[2-4](見圖2).

圖2 MVVM架構(gòu)圖

MVVM模式的推出則徹底解放了 View層,它使用 WPF特有的綁定技術(shù),使用簡(jiǎn)單的 XAML綁定屬性就能夠?qū)iewModel層的數(shù)據(jù)與命令雙向連接到 View層,如圖 3.這樣便使得應(yīng)用程序構(gòu)建 UI非常的容易[5].

圖3 View、ViewModel和 Model的交互圖

以下因素是 MVVM模式實(shí)現(xiàn)的重要條件:

數(shù)據(jù)綁定機(jī)制.數(shù)據(jù)綁定機(jī)制保障了層次之間的通信.通過 View中用 XAML描述的綁定語句和數(shù)據(jù)上下文語句建立 View層和 ViewModel層的聯(lián)系,綁定系統(tǒng)將會(huì)構(gòu)建和實(shí)現(xiàn) View層和 ViewModel層的通信[6].

命令(Command).按照 MVVM模式的設(shè)計(jì)原則,View層中不應(yīng)該包含業(yè)務(wù)邏輯,因此每一個(gè) View類的后臺(tái)代碼文件中,除了類構(gòu)造器中樣板代碼 InitializeComponent以外,基本沒有什么處理事件的方法.但當(dāng)用戶與 View對(duì)象上的控件交互,比如點(diǎn)擊 Button控件時(shí),程序要能夠處理和滿足用戶需求.這些控件功能實(shí)現(xiàn)的保證歸功于建立于 View類中控件(例如 Hyperlink,Button,MenuItem)上 Command屬性的綁定.

3 實(shí)現(xiàn)及示例應(yīng)用

3.1 實(shí)現(xiàn)及示例應(yīng)用

本系統(tǒng)前臺(tái)界面采用 WPF編程實(shí)現(xiàn),采用了.NET Framework 4.0平臺(tái)架構(gòu).界面設(shè)計(jì)應(yīng)用兩種工具:微軟的Expression Blend 4(以下簡(jiǎn)稱 EB4)和 Visual Studio 2010.其中 EB4主要負(fù)責(zé)界面設(shè)計(jì),包括控件的布局,背景色,界面的樣式及自定義控件等,有助于設(shè)計(jì)出更加漂亮的界面與動(dòng)畫;Visual Studio 2010主要完成界面上按鈕的響應(yīng)及界面之間的跳轉(zhuǎn),完成系統(tǒng)與用戶之間的信息交互,如圖 4、5.

圖4 公報(bào)生成系統(tǒng)工程結(jié)構(gòu)圖

圖5 公報(bào)生成系統(tǒng)數(shù)據(jù)導(dǎo)入界面

本系統(tǒng)主要分為數(shù)據(jù)導(dǎo)入,數(shù)據(jù)查看與修改,公報(bào)輸出(如圖 6)三個(gè)部分.其中數(shù)據(jù)庫使用的是 MICROSOFT SQL SERVER 2008,公報(bào)輸出是使用插件 ASPOSE.WORDS,這是一款對(duì) WORD操作性能極佳的插件,提供的方法多且全. MVVM框架使用的是 MVVMLight,這是一個(gè)輕量級(jí)的框架,相比微軟提供的 Prism而言,MVVMLight專注于 MVVM的實(shí)現(xiàn),所以更加靈活[7].

圖6 公報(bào)生成系統(tǒng)生成界面

3.2 使用 MVVM模式的幾大好處

(1)低耦合.View和 Model是相互獨(dú)立的.

(2)可重用性.一個(gè) ViewModel可以綁定到多個(gè) View上.

(3)獨(dú)立開發(fā).開發(fā)團(tuán)隊(duì)可以關(guān)注創(chuàng)建健壯的 ViewModel類,而設(shè)計(jì)團(tuán)隊(duì)可以關(guān)注設(shè)計(jì)界面友好的 View.要融合兩個(gè)團(tuán)隊(duì)的輸出,只需要在 View的 XAML上進(jìn)行正確的綁定即可.

(4)可測(cè)試性.由于模塊與模塊之間的聯(lián)系少了,便于將模塊獨(dú)立出來,放入測(cè)試環(huán)境進(jìn)行各種測(cè)試.

4 結(jié)束語

MVVM模式是隨著微軟.Net Framework以及 WPF的發(fā)展而來的,因此它充分利用了 WPF的 XAML和 Data Binding的特性,使得系統(tǒng)體現(xiàn)了“高內(nèi)聚、低耦合”的原則.應(yīng)用結(jié)果表明,MVVM模式很好地將數(shù)據(jù)、表示和業(yè)務(wù)邏輯分離開來,使得在開發(fā)過程中設(shè)計(jì)師和代碼編寫員中可以很好地并行工作,有效地提高了系統(tǒng)的可維護(hù)性及開發(fā)效率,值得應(yīng)用和推廣.

〔1〕Moliliang.WPF_ 百 度 百 科 [EB/OL].2008.http://baike. baidu.com/view/292311.htm.

〔2〕Li Changping,Peng Guojun.Chaos in Chen’s system with afractional order [J].Chaos, solitons and fractals,2004,22(2):443 - 450.

〔3〕陳明,李猛坤,張強(qiáng).一種基于擴(kuò)展 MVVM 模式的 SaaS面向 服務(wù)計(jì)算 模 型 [J].微電子學(xué) 與 計(jì)算機(jī),2010,27(8):27-30.

〔4〕Building Enterprise Applications with Windows(R)Presentation Foundation and the Model View ViewModel Pattern-New from Microsoft Press.Targeted News Service(Mar 23,2011),p.n/a.2011.

〔5〕程國(guó)雄,胡世湖.?dāng)?shù)字化圖書及英語交互學(xué) 習(xí) RIA 平 臺(tái)的研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(13):3103-3107.

〔6〕J.Sm ith."WPF Apps With The Model-View-View-Model Design Pattern,"in MSDN Magazine,Feb. 2009.

〔7〕Laurent Bugnion.MVVM Light Toolkit[EB/OL].2009.http://galasoft.ch/mvvm/.

TP311

A

1673-260X(2014)08-0009-02

猜你喜歡
公報(bào)控件應(yīng)用程序
基于.net的用戶定義驗(yàn)證控件的應(yīng)用分析
十九屆四中全會(huì)公報(bào)速讀
刪除Win10中自帶的應(yīng)用程序
民航空管2018年運(yùn)行統(tǒng)計(jì)公報(bào)
谷歌禁止加密貨幣應(yīng)用程序
關(guān)于.net控件數(shù)組的探討
圖解十八屆六中全會(huì)公報(bào)
從公報(bào)解讀2014
基于嵌入式MINIGUI控件子類化技術(shù)的深入研究與應(yīng)用
三星電子將開設(shè)應(yīng)用程序下載商店
西乌| 榆林市| 新建县| 铁力市| 安西县| 辉县市| 察隅县| 临西县| 仁化县| 五峰| 静海县| 达拉特旗| 桂阳县| 腾冲县| 安国市| 涿州市| 大兴区| 阿勒泰市| 阜平县| 叶城县| 错那县| 连城县| 东城区| 易门县| 柘荣县| 新源县| 上犹县| 泾阳县| 上饶县| 天水市| 鄢陵县| 邯郸市| 吴川市| 德格县| 铁岭市| 商水县| 临沧市| 察隅县| 五华县| 嘉禾县| 鄱阳县|