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

        ?

        基于MVC模式的測控系統(tǒng)優(yōu)化研究

        2015-02-21 06:49:07劉浪徐思捷趙世平
        電子設(shè)計工程 2015年18期
        關(guān)鍵詞:測控視圖代碼

        劉浪,徐思捷,趙世平

        (四川大學(xué) 制造科學(xué)與工程學(xué)院,四川 成都610065)

        基于MVC模式的測控系統(tǒng)優(yōu)化研究

        劉浪,徐思捷,趙世平

        (四川大學(xué) 制造科學(xué)與工程學(xué)院,四川 成都610065)

        針對當(dāng)前測控系統(tǒng)所采用的面向過程或面向?qū)ο蟪绦蛟O(shè)計方式,軟件的模型、邏輯、顯示混雜,使得程序的復(fù)用性降低。故采用MVC(Model-View-Controller,模型-視圖-控制器)模式對測控系統(tǒng)框架進(jìn)行優(yōu)化,并結(jié)合不同測控系統(tǒng)的控制軟件的開發(fā),復(fù)用軟件的View和Model、Controller的公共接口??s短了系統(tǒng)的開發(fā)周期,提高了系統(tǒng)復(fù)用性。

        測控系統(tǒng)優(yōu)化;設(shè)計模式;MVC模式;軟件架構(gòu)

        以往的測控系統(tǒng)大多采用面向過程的結(jié)構(gòu)化程序設(shè)計方法,其特點是自頂向下、逐層細(xì)化的將系統(tǒng)分解成層次結(jié)構(gòu)模塊,所以該類控制系統(tǒng)具有很強(qiáng)的針對性[1]。但是,如果需求變化,很大可能會造成整個控制系統(tǒng)被全部推翻,需重新設(shè)計,將會造成大量重復(fù)性工作。隨著面向?qū)ο蠹夹g(shù)的發(fā)展,在多數(shù)測控系統(tǒng)中很多開發(fā)者已經(jīng)采用面向?qū)ο笳Z言設(shè)計測控系統(tǒng)。雖然相對于以往的面向過程的結(jié)構(gòu)化程序設(shè)計方法來說,具有很大的進(jìn)步,但只是將問題及需求抽象出來,需求的改變及功能的變化仍可能造成系統(tǒng)大幅度更改,增加額外的重復(fù)勞動和開發(fā)成本。并且該系統(tǒng)的數(shù)據(jù)輸入、輸出,處理、顯示和用戶交互等模塊的代碼和邏輯彼此混雜,故系統(tǒng)的代碼具有較高的耦合度,這對后期的維護(hù)和重用帶來較大困難。

        若該系統(tǒng)是一個使用周期較長的系統(tǒng),可能會涉及到不同的人員來對該系統(tǒng)進(jìn)行維護(hù)。不同的人的思維方式、代碼風(fēng)格是有區(qū)別的,對軟件的修改、維護(hù)也是有差異的,若多次不同開發(fā)者的維護(hù)可能會造成軟件的結(jié)構(gòu)、功能混亂,以至于最后根本無法維護(hù)。使用MVC模式優(yōu)化后的系統(tǒng),能夠在一定程度上改善上述問題。

        1 iOS MVC模式介紹

        1.1 MVC模式模型

        MVC模式由Model(模型)、View(視圖)、Controller(控制器)3部分組成,如圖1所示。本文所介紹的MVC設(shè)計模式是蘋果公司為Mac OS X所創(chuàng)建的原生面向?qū)ο蟮木幊汰h(huán)境Cocoa中用到的MVC模式,稱為iOS MVC模式,廣泛應(yīng)用于iOS的應(yīng)用開發(fā)中[2]。

        圖1 MVC模型Fig.1 MVC Model

        1.2 MVC模式實現(xiàn)

        Model對象是整個應(yīng)用程序的核心部分,主要包含控制系統(tǒng)中的數(shù)據(jù)以及對數(shù)據(jù)的操作。Model代表對現(xiàn)實生活中待解決問題的抽象,它是特別的信息或者專門的知識。

        View對象實現(xiàn)模型的顯示和系統(tǒng)與用戶的交互。視圖負(fù)責(zé)如何顯示數(shù)據(jù),該數(shù)據(jù)歸根結(jié)底來源于模型;也負(fù)責(zé)將用戶的操作通知Controller,它不直接與Model交互。一個View對象可以表示部分、一個或多個模型對象,模型亦是如此[3]。例如一組數(shù)據(jù)可以以不同的形式如圖表、折線、條形圖顯示,表現(xiàn)形式完全取決于視圖。視圖對象往往是可重用和配置的。

        Controller對象實現(xiàn)Model和View之間的間接交互。當(dāng)Model發(fā)生變化時,它通知Controller已變化,Controller依照設(shè)定的規(guī)則,將必要的變化向View更新,使View呈現(xiàn)出Model的變化。當(dāng)View響應(yīng)用戶的操作,View將其轉(zhuǎn)發(fā)給Controller,Controller將操作解析并依照設(shè)定的規(guī)則通知Model,使Model執(zhí)行設(shè)定的操作。

        在該模式中Model和View是沒有交互的,它們僅僅是通過Controller粘合。

        1.3 MVC模式優(yōu)勢

        該模式的優(yōu)勢在于可以實現(xiàn)同一個Model在不同View的顯示,即可使用不同View而不需要更改Model。同樣,同一個View也可以對應(yīng)不同的Model。MVC實現(xiàn)了不同角色的分離,即代碼分離,使系統(tǒng)的耦合度降低,增強(qiáng)系統(tǒng)的可維護(hù)性。

        2 MVC模式對測控系統(tǒng)的優(yōu)化

        2.1 MVC模式在系統(tǒng)中的具體實現(xiàn)

        在多數(shù)測控系統(tǒng)中,開發(fā)者按需求來設(shè)計控制系統(tǒng),并沒有使用某種模式或框架,故系統(tǒng)的形式各異,這會對后期維護(hù)和修改造成很大的不便。

        MVC模式,也可以說是一個框架,它主要是由Observer(觀察者)、Composite(組合)、Strategy(策略)3種設(shè)計模式組成[4]。它為系統(tǒng)框架的搭建提供了思路,在對系統(tǒng)進(jìn)行分析設(shè)計時,有目的的對系統(tǒng)的組成部分進(jìn)行分類設(shè)計。MVC模式使系統(tǒng)中的各個組成部分,也就是所有的對象都屬于MVC3個模塊之一[5]。

        在某測控系統(tǒng)中,系統(tǒng)實現(xiàn)對拉壓力、位移等傳感器數(shù)據(jù)的高速采集和保存。該系統(tǒng)中的MVC模式設(shè)計如下:

        在系統(tǒng)中定義界面“MainWindow”,負(fù)責(zé)數(shù)據(jù)顯示和用戶交互,該部分即是人機(jī)交互界面,屬于View部分。View包括普通按鈕,選擇按鈕,設(shè)置按鈕,曲線顯示框、數(shù)據(jù)顯示框等,如圖2所示。

        圖2 視圖對象Fig.2 View object

        其Controller則命名為“MainwindowControl”,該部分實現(xiàn)Model和View的間接交互和控制邏輯,如圖3所示。Controller還包括 “ExperimentControl”等系統(tǒng)的控制邏輯部分。Model部分則是來自于采集模塊的數(shù)據(jù),和對這些數(shù)據(jù)的相關(guān)操作及邏輯,下面代碼中采集的highSpeedCollecingBuffer數(shù)組中的數(shù)據(jù)亦是Model之一。

        圖3 控制器對象Fig.3 Controller object

        2.2 MVC模式具體交互

        當(dāng)用戶在View上有操作觸發(fā)時,使用觀察者設(shè)計模式實現(xiàn)View向Controller發(fā)送通知,事件(Event)使該模式的實現(xiàn)更為方便。在 Controller中手動定義各個用戶操作的Controller操作,如下面代碼中的 onButtonSetLToZeroClick(object sender,EventArgs e)等,然后手動鏈接到用戶的通知操作,如按鈕的點擊事件等,如下代碼所示。這種方式使得Controller的解析方式和用戶操作的關(guān)聯(lián)更加方便、快捷,也實現(xiàn)松耦合。如果通知內(nèi)容或觸發(fā)者發(fā)生改變,只需改變事件注冊鏈接,這對后期的維護(hù)和代碼重用十分重要。

        在Model中,當(dāng)采集到數(shù)據(jù)時,將原始數(shù)據(jù)保存在highSpeedCollecingBuffer數(shù)組,利用多線程數(shù)據(jù)共享方式將數(shù)據(jù)通過Controller更新到ChildView(屬于View)的buf數(shù)組中。View不保存數(shù)據(jù),最多緩存一部分?jǐn)?shù)據(jù),并將Model的內(nèi)容按照一定的方式呈現(xiàn)出來,如圖2中黑色曲線框(ChildView)所示。View也用如圖2所示第一排黑色圖表顯示當(dāng)前Model的值,將highSpeedCollecingBuffer數(shù)組的數(shù)據(jù)通過事件拋向Controller,Controller使用timer負(fù)責(zé)向顯示表數(shù)據(jù)更新數(shù)據(jù)。

        Model通常來源于文件、數(shù)據(jù)庫或采集設(shè)備[6-8]。當(dāng)Model改變后通知Controller,然后Controller按照設(shè)定規(guī)則更新View。但 Model并不了解呈現(xiàn)它的具體 View,它僅向Controller執(zhí)行通知操作。View也不指向具體的Model,它只負(fù)責(zé)顯示數(shù)據(jù)。

        2.3 MVC模式的優(yōu)化結(jié)果

        使用MVC模式優(yōu)化后,系統(tǒng)的結(jié)構(gòu)十分清晰的分成Model、View、Controller3部分,使得后續(xù)的開發(fā)者和維護(hù)者能夠十分迅速和準(zhǔn)確的把握整個控制系統(tǒng)的精髓,對于后期的維護(hù)和開發(fā),有極大的幫助作用。

        在控制軟件的開發(fā)過程中,若有新的需求提出,則需要重新對需求進(jìn)行分析,可能會造成Model或View的變化。但使用MVC模式后,對于View部分來說,基本上可以完全重用起來,不會出現(xiàn)由Model的變化引起的View的大幅度的更改,這是MVC模式的優(yōu)勢之一。同理,View的變化也同樣不會引起Model的大幅度更改。

        在設(shè)計新的測控系統(tǒng)時,采用代碼回收機(jī)制,對于View模塊,基本可以不用較大修改或調(diào)整就可以重用該部分代碼。在代碼回收過程中很多接口是可重用的,這也是面向?qū)ο缶幊痰囊粋€重要的思想:針對接口編程,而不是針對實現(xiàn)。好的軟件開發(fā)模式體現(xiàn)在代碼的可循環(huán)重復(fù)利用上,該模式使系統(tǒng)開發(fā)呈現(xiàn)出一個螺旋上升趨勢。

        3 結(jié)束語

        本文利用MVC模式的角色分離,實現(xiàn)代碼分離,使系統(tǒng)的結(jié)構(gòu)更加清晰,維護(hù)性顯著增加,并且適配器、裝飾者、策略、單件等模式的使用也極大的提高了系統(tǒng)的重用性。MVC模式的使用不僅實現(xiàn)了對測控系統(tǒng)的優(yōu)化,開發(fā)出的控制系統(tǒng)已投入使用,系統(tǒng)運行穩(wěn)鍵,并且陸續(xù)用該方式開發(fā)出多個測控系統(tǒng),獲得了滿意的效果。

        [1]武杰.快速可重組機(jī)械工程測控實驗平臺的研制[D].南京:南京航空航天大學(xué),2007.

        [2]劉偉.基于RDP的應(yīng)用服務(wù)推送模型[M].廣東:中山大學(xué), 2010.

        [3]歐陽宏基.利用Struts與Hibernate框架構(gòu)建Java Web應(yīng)用的研究與實現(xiàn)[D].西安:西安科技大學(xué),2007.

        [4]彭鼎,李明東,邢紫陽.基于MVC架構(gòu)的網(wǎng)絡(luò)設(shè)計研究[J].電腦知識與技術(shù),2005(7):1571-1572.PENG Ding,LI Ming-dong,XING Zi-yang.The network research and design based on MVC architecture[J].Computer Knowledge and Technology,2005(7):1571-1572.

        [5]徐晨光.模塊化技術(shù)在電子設(shè)備結(jié)構(gòu)設(shè)計中的應(yīng)用[D].西安:西安電子科技大學(xué),2006.

        [6]中國電機(jī)工程學(xué)會.第二屆電測儀表學(xué)術(shù)發(fā)展方向主題研討暨第一屆智能化先進(jìn)測量系統(tǒng)學(xué)術(shù)研討會議[C]//丹東,2010.

        [7]任鳳仙,李強(qiáng),張振華.用PHP的MVC框架開發(fā)電子書庫的設(shè)計實踐[J].電子設(shè)計工程,2014(16):25-27.REN Feng-xian,LI Qiang,ZHANG Zhen-hua.Design practice with the MVC framework of PHP to develop E-book stack room[J].Electronic Design Engineering,2014(16):25-27.

        [8]趙秋錦,許武軍,黃棟梁,等.MVC技術(shù)在光刻機(jī)人機(jī)工程中的應(yīng)用研究[J].電子設(shè)計工程,2014(1):30-31,34.ZHAO Qiu-jin,XU Wu-jun,HUANG Dong-liang,et al.Study on MVC technology in human-machine engineering for lithography machine[J].Electronic Design Engineering, 2014(1):30-31,34.

        The optimization researchin measurement and control system based on MVC pattern

        LIU Lang,XU Si-jie,ZHAO Shi-ping
        (Manufactory Science and Engineering Institute of Sichuan University,Chengdu 610065,China)

        For the current measurement and control system whichused in design of process-oriented or object-oriented programming mode,the software model,logic,displaymixed together,makereusability of program is reduced.So use MVC (Model-View-Controller,Model-View-Controller)model framework for measurement and control system optimization.And to combine different measurement and control software development,reuse of View,Model and the public interface of Controller of software.Shorten the development cycle of the system,improve the system reusability.

        measurement and control system optimization;design patterns;MVC pattern;software architecture

        TN37

        :A

        :1674-6236(2015)18-0107-03

        2014-12-05稿件編號:201412048

        劉 浪(1989—),男,四川廣安人,碩士。研究方向:儀器儀表工程。

        猜你喜歡
        測控視圖代碼
        《測控電路》實踐教學(xué)改革探討
        電子測試(2018年22期)2018-12-19 05:12:58
        創(chuàng)世代碼
        動漫星空(2018年11期)2018-10-26 02:24:02
        創(chuàng)世代碼
        動漫星空(2018年2期)2018-10-26 02:11:00
        創(chuàng)世代碼
        動漫星空(2018年9期)2018-10-26 01:16:48
        創(chuàng)世代碼
        動漫星空(2018年5期)2018-10-26 01:15:02
        5.3 視圖與投影
        視圖
        Y—20重型運輸機(jī)多視圖
        SA2型76毫米車載高炮多視圖
        基于現(xiàn)代測控技術(shù)及其應(yīng)用分析
        在线天堂中文一区二区三区| 国产丝袜美女| 中国少妇内射xxxx狠干| 中文字幕无码无码专区| 日韩在线视频不卡一区二区三区 | 久久久AV无码精品免费| 久久一日本道色综合久久大香| 亚洲小少妇一区二区三区| 青青草视频在线观看绿色| 18禁免费无码无遮挡不卡网站| 天堂网www资源在线| 国产精一品亚洲二区在线播放| 欧美日韩国产专区| 欧美日本视频一区| 色婷婷精久久品蜜臀av蜜桃| 国产一区二区三区三区四区精品 | 久久久久人妻精品一区5555| av网站免费观看入口| 国产精品99精品久久免费| 欧洲熟妇色 欧美| 乱中年女人伦av| 国产一区二区在线观看我不卡| 日本免费一二三区在线| 无码va在线观看| √天堂中文官网8在线| 一区二区视频观看在线| 久久精品亚洲一区二区三区画质| 少妇被粗大的猛进出69影院| 中国亚洲女人69内射少妇| 亚洲一区二区在线视频播放 | 大屁股少妇一区二区无码| 丝袜av乱码字幕三级人妻| 亚洲中文无码av永久| 亚洲精品乱码久久久久久蜜桃图片| 人妻人人澡人人添人人爽人人玩| 亚洲男人堂色偷偷一区| 视频一区视频二区自拍偷拍 | 国产精品国产三级在线高清观看| 久久熟女少妇一区二区三区| 情人伊人久久综合亚洲| 久热这里只有精品99国产|