亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MVVM架構(gòu)的礦井水文監(jiān)測系統(tǒng)軟件設計與實現(xiàn)

        2016-10-11 11:34:01董建梁
        中國科技信息 2016年17期
        關鍵詞:設計模式控件水文

        李 鵬 董建梁 呂 琦

        中煤科工集團西安研究院有限公司

        基于MVVM架構(gòu)的礦井水文監(jiān)測系統(tǒng)軟件設計與實現(xiàn)

        李 鵬 董建梁 呂 琦

        中煤科工集團西安研究院有限公司

        對煤礦水文數(shù)據(jù)進行監(jiān)測是進行水害防治的主要手段之一。實現(xiàn)水文監(jiān)測數(shù)據(jù)采集和觀測的自動化系統(tǒng),可以高效地實現(xiàn)對原始數(shù)據(jù)的處理及二次分析。本文基于WPF編程技術和MVVM設計模式相結(jié)合方式,開發(fā)的水文監(jiān)測系統(tǒng)模擬顯示了監(jiān)測站點位置并在軟件中加入了實時地圖,使數(shù)據(jù)的觀測更加直觀。

        煤礦水害是威脅煤礦生產(chǎn)安全的重大災害之一。針對礦井水害預測問題,本文研究開發(fā)基于MVVM設計模式的礦井水文自動監(jiān)測系統(tǒng)。礦井水文監(jiān)測系統(tǒng)能夠自動的采集井下和地面的水壓、水位、流量、降雨量等水文數(shù)據(jù),并自動的傳輸?shù)奖O(jiān)控中心,在出現(xiàn)異常時能夠自動的報警,提示相關部門采取防范措施,確保煤礦安全生產(chǎn),降低災害損失。特別是在一些水文地質(zhì)條件復雜的地區(qū),管理難度很大,使用水文監(jiān)測系統(tǒng)能夠有效地提高工作效率,加強水文地質(zhì)災害的防治。

        系統(tǒng)設計

        系統(tǒng)框架

        本系統(tǒng)的開發(fā)整體架構(gòu)采用了C/S模式,也就是客戶端/服務器模式。為了實現(xiàn)界面的圖形顯示效果,降低界面與業(yè)務邏輯的耦合度以及提高代碼的復用性,軟件的開發(fā)使用了WPF的MVVM模式。

        系統(tǒng)功能模塊

        水文實時監(jiān)測系統(tǒng)軟件功能主要包括實時數(shù)據(jù)顯示、數(shù)據(jù)查詢、生成曲線、生成報表、系統(tǒng)參數(shù)設置、用戶管理、GSM水情遙測、GPRS水情遙測、OPC工業(yè)接口以及礦井設備布局圖顯示等功能。

        開發(fā)環(huán)境

        系統(tǒng)開發(fā)使用微軟最新開發(fā)工具Vistual Studio 2015實現(xiàn)。界面設計應用兩種工具:微軟的 Expression Blend 4和 Visual Studio 2015。其中,Expression Blend 4主要負責界面設計,包括控件的布局,背景色,界面的樣式及自定義控件等,有助于設計出更加漂亮的界面與動畫;VisualStudio 2015主要完成界面上按鈕的響應及界面之間的跳轉(zhuǎn),完成系統(tǒng)與用戶之間的信息交互。

        圖1 系統(tǒng)總體框架

        圖2 系統(tǒng)功能結(jié)構(gòu)圖

        MVVM設計模式在系統(tǒng)中的應用

        MVVM

        WPF(Windows Presentation Foundation)是一套基于.Net Framework、XML、矢量繪圖技術的展示層開發(fā)框架。WPF使用一種新的XAML(eXtensible Application Markup Language)語言來開發(fā)介面,將界面開發(fā)和后臺邏輯完美的分離,降低了耦合度,使用戶界面設計師與程序開發(fā)者跟好的合作,降低維護和更新成本。

        MVVM(Model-View-ViewModel)是一種WPF的新型軟件設計模式。Model代表業(yè)務邏輯的實體類,可以是簡單的用戶實體類,也可以是復雜的期貨交易實體類;View指用戶界面或者承載了子控件的控件集合,主要響應業(yè)務邏輯傳來的數(shù)據(jù)及狀態(tài)變化等等,一個WPF窗口、一個Silverlight頁面或者簡單的XAML數(shù)據(jù)控件都可以作為View;ViewModel主要處理View和Model之間的業(yè)務關系,包括各種邏輯、命令、事件及實體類的引用。MVVM架構(gòu)將其中的View的狀態(tài)和行為抽象化,讓我們可以將UI和業(yè)務邏輯分開,ViewModel取出 Model 的數(shù)據(jù)同時幫忙處理View中由于需要展示內(nèi)容而涉及的業(yè)務邏輯。

        圖4 系統(tǒng)主界面

        圖5 某煤礦地面衛(wèi)星圖

        MVVM在系統(tǒng)中的應用

        本軟件系統(tǒng)主要使用了MVVM設計模式的四大模塊:ObservableObject基 類、RelayCommand接 口、Messager通信機制和PropertyObserver。

        系統(tǒng)主界面(圖4)的數(shù)據(jù)刷新通過ObservableObject實現(xiàn)ViewModel中的屬性改變通知到綁定的控件的方法,相當于是所有Viewmodel的基類,使用時調(diào)用OnPropertyChange方法,則后臺數(shù)據(jù)變化即可通知界面刷新。圖中左側(cè)圖形界面的測點數(shù)據(jù)更新應用了OnPropertyChange方法。

        圖4中上部的按鈕全都采用了RelayCommand接口,在ViewModel中定義View中綁定的命令,代替了以前Winform的Click事件。

        在ViewModel中定義Command:

        在View中的按鈕管理該Command:

        Messager信息機制主要用于ViewModel之間以及ViewModel和View之間的信息傳遞。

        定義信息傳輸類:

        在需要通知的類中注冊要通知的信息

        當對應的消息出現(xiàn)時,通知已經(jīng)注冊的類

        PropertyOberver主要用于對對象的屬性監(jiān)聽,屬性變更后可觸發(fā)已注冊的回調(diào)函數(shù)。

        注冊要監(jiān)聽對象的屬性及回調(diào)函數(shù)

        WPF與Baidu Map的結(jié)合

        百度地圖是百度提供的一項網(wǎng)絡地圖搜索服務,覆蓋了國內(nèi)近400個城市、數(shù)千個區(qū)縣??梢酝ㄟ^百度提供的Baidu Map API進行二次開發(fā),實現(xiàn)煤礦地面水文監(jiān)測系統(tǒng)遙測分站的定位和顯示。運用Baidu Map JavaScript創(chuàng)建水文監(jiān)測系統(tǒng)地面遙測地圖,通過遙測分站位置的經(jīng)緯坐標在地圖上可標記處具體位置,進行實時監(jiān)測,并開發(fā)了地圖放大、縮小等功能。

        程序使用WPF的WebBrowser將Baidu Map的HTML文件加載到程序中,當安裝程序的主機與因特網(wǎng)連接時,實時更新百度地圖;當主機無法連接因特網(wǎng)時,將使用提前下載好的離線地圖顯示。WPF通過調(diào)用HTML文件中的JavaScript與Baidu Map進行交互,此時可以使用WebBrowser的InvokeScript方法調(diào)用JavaScript,例如:

        webbrowser.InvokeScript(“MeikuangMap”)。

        結(jié)束語

        經(jīng)過整體測試和煤礦世紀應用,實現(xiàn)了煤礦井上下水文觀測孔水壓、水位、水溫、采空區(qū)水位、排水明渠、管道流量的實時監(jiān)測及閥門的遠程控制。采用基于WPF的編程技術和MVVM設計模式編制的上位機監(jiān)測軟件,提高了人機交互的能力和軟件界面的美觀性,使用軟件模擬監(jiān)測站點位置并在軟件中加入了百度地圖,使數(shù)據(jù)的觀測更加直觀。MVVM框架的應用也使得系統(tǒng)設計流程更加規(guī)范,通過Model、View、View Model之間的交互實現(xiàn)了界面設計與后臺邏輯代碼的分離,封裝了對象與數(shù)據(jù)庫之間的交互,建立了一個易于維護,便于測試,有良好的擴展性的應用系統(tǒng)。

        猜你喜歡
        設計模式控件水文
        仿生設計模式的創(chuàng)新應用探索
        玩具世界(2023年6期)2024-01-29 12:14:36
        2022年《中國水文年報》發(fā)布
        “1+1”作業(yè)設計模式的實踐探索
        水文
        水文水資源管理
        交通機電工程設計模式創(chuàng)新探討
        關于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        水文
        互動式設計模式研究
        就這樣玩會VBA中常見的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        精品无码国产自产在线观看水浒传 | 91九色中文视频在线观看| 极品少妇hdxx麻豆hdxx| 亚洲av伊人久久综合密臀性色| 性欧美暴力猛交69hd| 加勒比精品久久一区二区三区| 91超碰在线观看免费| 精品中文字幕久久久人妻| 日韩精品熟妇一区二区三区| 人妻少妇边接电话边娇喘| 国产午夜亚洲精品理论片不卡| 大红酸枝极品老料颜色| 国产精品毛片无遮挡高清| 永久免费看啪啪网址入口| 亚洲人成人一区二区三区| 最近亚洲精品中文字幕| 国产精品成人av大片| 99国产精品自在自在久久| 国产最新网站| 人妻熟女妇av北条麻记三级| 精品熟女视频一区二区三区国产| 无码人妻一区二区三区在线 | 欧美喷潮系列在线观看| 久久天天躁狠狠躁夜夜中文字幕| 91精品国产综合久久国产| 国产精品第一二三区久久| 无码人妻一区二区三区免费视频| 精品一区二区三区无码视频| 如何看色黄视频中文字幕| 青青草在线免费播放视频| 日本在线看片免费人成视频1000| 大地资源网最新在线播放| 一区二区三区放荡人妻 | 痉挛高潮喷水av无码免费 | 国产99久久精品一区| 国产美女高潮流白浆免费视频| 国产va在线观看免费| 久久伊人影院| 少妇又紧又色又爽又刺| 2018天天躁夜夜躁狠狠躁| 国产乱子伦精品免费无码专区|