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

        ?

        基于數(shù)據(jù)驅(qū)動(dòng)的GUI設(shè)計(jì)與實(shí)現(xiàn)

        2018-06-28 10:33:30汪嬋付勇智
        科技創(chuàng)新與應(yīng)用 2018年18期
        關(guān)鍵詞:數(shù)據(jù)驅(qū)動(dòng)

        汪嬋 付勇智

        摘 要:軟件開發(fā)中需求變化是經(jīng)常發(fā)生的,而且對(duì)開發(fā)成本影響很大,需求中變化最頻繁的就是界面,文章提出用數(shù)據(jù)驅(qū)動(dòng)技術(shù),利用來(lái)數(shù)據(jù)結(jié)構(gòu)描述界面,解決GUI界面頻繁變化的問題,取得較好的實(shí)踐效果。

        關(guān)鍵詞:數(shù)據(jù)驅(qū)動(dòng);GUI界面;面向?qū)ο蠹夹g(shù)

        中圖分類號(hào):TP311.5 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)18-0079-02

        Abstract: In software development, requirement changes occur frequently and have a great impact on the development cost. The interface is the most frequent change in the requirement. This paper proposes to use data-driven technology to describe the interface by using the data structure. The problem of frequent change of GUI interface is solved and good practical results are obtained.

        Keywords: data-driven; GUI interface; object-oriented technology

        引言

        計(jì)算機(jī)產(chǎn)品的根本目的是為人們的工作與生活提供服務(wù)的,為了使計(jì)算機(jī)產(chǎn)品更好的服務(wù)于人們的工作和生活,計(jì)算機(jī)產(chǎn)品的操作界面即用戶接口從最初的命令行接口一路走來(lái),發(fā)展到圖形用戶接口,而且工程師正在努力提高用戶接口的智能化。近年來(lái)計(jì)算機(jī)產(chǎn)品的開發(fā)工程師更是把產(chǎn)品的用戶體驗(yàn)效果作為產(chǎn)品設(shè)計(jì)開發(fā)的主要質(zhì)量目標(biāo),使得人們對(duì)計(jì)算機(jī)產(chǎn)品的操作和功能的理解越來(lái)越簡(jiǎn)單了。

        許多公司與學(xué)者都在研究基于數(shù)據(jù)驅(qū)動(dòng)的GUI設(shè)計(jì)與實(shí)現(xiàn),基于數(shù)據(jù)驅(qū)動(dòng)的移動(dòng)前端的框架有AngularJs 2.0、vue.js等,研究數(shù)據(jù)驅(qū)動(dòng)編程的學(xué)者:周學(xué)海、李為民等研究的數(shù)據(jù)驅(qū)動(dòng)與軟件設(shè)計(jì);蘇曉華研究的數(shù)據(jù)驅(qū)動(dòng)與計(jì)算;畢卓、徐云川、王鎮(zhèn)等研究的數(shù)據(jù)驅(qū)動(dòng)與處理器設(shè)計(jì)。

        1 GUI的基本構(gòu)成

        GUI用窗口作為容器,用圖標(biāo)、按鈕、菜單表示不同目的的動(dòng)作接口,用文本框及列表顯示輸入輸出的內(nèi)容,用戶鍵盤和鼠標(biāo)及指點(diǎn)設(shè)備進(jìn)行定位與選擇,用鍵盤進(jìn)行輸入。最著名例子就是由蘋果公司在麥金塔所創(chuàng)的圖形用戶界面。

        從集合的角度看,GUI是一個(gè)窗口容器,它是由各種圖形元素(組件實(shí)例)組合構(gòu)成:

        GUI={x|子窗口,圖標(biāo),按鈕,菜單,文本框,列表,面板等組件}。

        這些組件在界面上是按樹形結(jié)構(gòu)呈現(xiàn)的如圖1所示。

        從圖1可以看出,GUI是以窗口作為容器進(jìn)行嵌套組成層次圖形元素樹。每個(gè)圖形元素都是一個(gè)組件實(shí)例,因此圖形元素除了形狀之外還應(yīng)該有屬性和方法,屬性定義圖形元素的位置與外觀,方法規(guī)定圖形元素的行為(功能)。圖形元素與屬性集和方法集之間的關(guān)系如下:

        圖形元素={x|位置屬性,外觀屬性,鼠標(biāo)事件響應(yīng)方法,鍵盤事件響應(yīng)方法,屬性值修改方法}。

        鼠標(biāo)事件響應(yīng)方法、鍵盤事件響應(yīng)方法負(fù)責(zé)約定用戶行為及響應(yīng)方式,根據(jù)用戶行為和后臺(tái)消息請(qǐng)求修改圖形元素的屬性值,圖形元素的屬性及鼠標(biāo)鍵盤事件響應(yīng)方法都是編碼時(shí)確定的,這樣就可以使用數(shù)據(jù)結(jié)構(gòu)來(lái)描述圖形元素,用一種鍵值對(duì)表示屬性與屬性值、事件名與方法名,為了區(qū)別屬性與事件還需要定義不同的標(biāo)志,這樣特性的數(shù)據(jù)結(jié)構(gòu)現(xiàn)在一般用xml或json形式來(lái)描述。

        2 數(shù)據(jù)驅(qū)動(dòng)GUI設(shè)計(jì)

        由圖1可以看出,GUI都是由一些標(biāo)準(zhǔn)圖形元素組成,如果能夠用某種數(shù)據(jù)結(jié)構(gòu)把圖形元素描述出來(lái),就可以把GUI用數(shù)據(jù)結(jié)構(gòu)進(jìn)行描述。然后就可以在后臺(tái)程序根據(jù)不同的功能產(chǎn)生相應(yīng)描述GUI的數(shù)據(jù)結(jié)構(gòu),傳送到前臺(tái)用程序進(jìn)行解析,就能顯示出來(lái)了,這樣在需求變化時(shí)就不需要重寫GUI了。

        Jquery代碼如下:

        $(function(){

        var btn=$("");

        $("body").append(btn);

        addBtnEvent("testBtn");//綁定事件響應(yīng)函數(shù)

        $("#testBtn").attr("disabled",true);

        });

        function addBtnEvent(id){//定義事件響應(yīng)函數(shù)

        $("#"+id).bind("click",function(){

        alert("Test");

        });

        }

        Java代碼如下:

        JButton testbnt = new JButton("testbnt ");

        testbnt.addActionListener(new ActionListener() {

        @Override

        public void actionPerformed(ActionEvent e) {

        method_testbnt();

        }

        });

        public static void method_testbnt(){

        //方法代碼

        }

        組成GUI的組件可以分成三個(gè)相關(guān)的集合:組件類型集、屬性集、事件響應(yīng)方法集。而事件又可分為鼠標(biāo)事件、鍵盤事件,不同用戶可能要求對(duì)同樣的事件做出不同的響應(yīng)。如圖2所示。

        數(shù)據(jù)驅(qū)動(dòng)GUI設(shè)計(jì)的本質(zhì)就是以數(shù)據(jù)為中心,用數(shù)據(jù)封裝變化,用數(shù)據(jù)結(jié)構(gòu)描述GUI界面,GUI界面外觀完全依賴數(shù)據(jù),GUI的代碼只負(fù)責(zé)解析數(shù)據(jù),利用自動(dòng)生成技術(shù),生成相應(yīng)的圖形元素完成可視化。

        一個(gè)實(shí)例:這是一個(gè)信息系統(tǒng)的GUI界面,其中有些是必填的,有些是可選,有些直接輸入,有些是要查表選擇的,這個(gè)界面是非常常見的GUI界面,如圖3所示。

        圖3對(duì)應(yīng)的數(shù)據(jù)結(jié)構(gòu),按json標(biāo)準(zhǔn)描述如下。

        {"control":{"PartID":"部品編號(hào),string,50","PartName":"部件名稱,string,50","PartCode":"部品件號(hào),string,20","AutoStyling":"車型,@table","PartUnit":"單位,string,5","DCAmount":"單車用量,double,2","InboundContainer":"入庫(kù)包裝,@table","InboundPackageAmount":"每包數(shù)量,int,0","OutboundContainer":"盛具,@table","OutboundPackageAmount":"每包數(shù)量,int,0","Disabled":"是否在裝,bool,0","PinyinAbb":"名稱簡(jiǎn)稱,string,20","PartCategory":"部品類別,@table","PartPicture":"部品圖片,byte,0","PartBaseInfoRemark":"備注,int,0","PSAddress1":"送裝地址1,string,50","PSAddress2":"送裝地址2,string ,50","PSAddress3":"送裝地址3,string,50"},"mustwrite":["PartName","PartCode","AutoStyling","PartUnit","DCAmount","InboundContainer","InboundPackageAm

        ount","OutboundContainer","OutboundPackageAmount","Pa

        rtCategory"],"unique":["PartCode","PartName"],"datas":[]}

        3 結(jié)束語(yǔ)

        在所有講授面向?qū)ο蠹夹g(shù)的教材中都會(huì)說(shuō)世界是由對(duì)象組成,所以軟件開發(fā)才需要面向?qū)ο蠹夹g(shù),面向?qū)ο蠹夹g(shù)是采用事件消息機(jī)制來(lái)改變對(duì)象的狀態(tài)。把GUI界面看成一個(gè)對(duì)象,界面外觀布局就是通過(guò)后臺(tái)發(fā)給的數(shù)據(jù)(消息),通過(guò)對(duì)象自身的行為改變的。

        參考文獻(xiàn):

        [1]李為民.軟件開發(fā)中的數(shù)據(jù)驅(qū)動(dòng)設(shè)計(jì)思想[J].電腦編程技巧與維護(hù),2012(24):14-15.

        [2]陳廣山.基于WPF的UI設(shè)計(jì)模式研究[J].雞西大學(xué)學(xué)報(bào),2016(08):32-35.

        [3]畢卓,徐云川,王鎮(zhèn).采用數(shù)據(jù)驅(qū)動(dòng)機(jī)制的多核處理器[J].上海交通大學(xué)學(xué)報(bào),2013(01):81-85.

        [4]蘇曉華.數(shù)據(jù)驅(qū)動(dòng)計(jì)算及其應(yīng)用[J].世界電子元器件,2008(03):82-84.

        [5]周學(xué)海,羅賽,王峰,等.一種數(shù)據(jù)驅(qū)動(dòng)的可重構(gòu)計(jì)算統(tǒng)一編程模型[J].電子學(xué)報(bào),2007(11):2123-2128.

        猜你喜歡
        數(shù)據(jù)驅(qū)動(dòng)
        基于數(shù)據(jù)驅(qū)動(dòng)的虛擬人運(yùn)動(dòng)合成方法研究
        數(shù)據(jù)驅(qū)動(dòng)下消費(fèi)者購(gòu)買互聯(lián)網(wǎng)理財(cái)產(chǎn)品意向預(yù)測(cè)方法
        數(shù)據(jù)驅(qū)動(dòng):從量化到化理
        高職圖書采編外包商選擇模型研究
        數(shù)據(jù)驅(qū)動(dòng)和關(guān)鍵字驅(qū)動(dòng)的研究與應(yīng)用
        軟件(2016年4期)2017-01-20 09:56:35
        基于網(wǎng)絡(luò)與數(shù)據(jù)智能化的數(shù)碼印花產(chǎn)品設(shè)計(jì)定制模式研究
        數(shù)據(jù)驅(qū)動(dòng)理念在大學(xué)英語(yǔ)課程中的應(yīng)用
        青春歲月(2016年20期)2016-12-21 18:48:37
        大數(shù)據(jù)背景下的警務(wù)模式創(chuàng)新研究
        科技視界(2016年26期)2016-12-17 15:59:49
        《計(jì)算機(jī)控制技術(shù)》課程教改探討
        科技視界(2016年1期)2016-03-30 12:52:04
        數(shù)據(jù)驅(qū)動(dòng)導(dǎo)向高校多維度教育信息系統(tǒng)開發(fā)研究
        日本一道本加勒比东京热| 久久99国产亚洲高清观看韩国| 亚洲深夜福利| 91久久精品一二三区色| 西川结衣中文字幕在线| 野狼第一精品社区| 男人j进女人p免费视频| 国产99久久久国产精品免费| 精品国产亚洲亚洲国产 | 欧洲成人午夜精品无码区久久| 国产艳妇av在线出轨| 日本97色视频日本熟妇视频| 欧美亚洲精品suv| 久久人人玩人妻潮喷内射人人| 亚洲国产一区二区三区最新| 九九久久精品一区二区三区av| 夜夜夜夜曰天天天天拍国产| 欧美巨大xxxx做受l| 亚洲成av人无码免费观看| 97青草超碰久久国内精品91| 国产免费内射又粗又爽密桃视频| 亚洲无毛片| 最新日韩精品视频免费在线观看| 精品激情成人影院在线播放| 人人爽人人爱| 久久中文字幕亚洲精品最新 | 在线观看亚洲AV日韩A∨| 国产视频免费一区二区| 欧美大胆性生话| 性一交一乱一伦| 抖射在线免费观看视频网站| 日韩亚洲一区二区三区四区| 暖暖视频在线观看免费| 国产女人91精品嗷嗷嗷嗷| 日本高清一区二区不卡| 日本一本之道高清不卡免费| 欧美中文字幕在线| 后入少妇免费在线观看| 久久久噜噜噜久久中文福利 | 99热爱久久99热爱九九热爱| 国产成人无码精品久久99|