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

?

Java語言圖形編程工具的設(shè)計及應(yīng)用

2017-04-24 20:20:00齊燕
科技傳播 2017年4期
關(guān)鍵詞:Java語言應(yīng)用設(shè)計

齊燕

摘 要 本文研究了Java語言圖形編程工具的設(shè)計及應(yīng)用,以元建模機(jī)制為基礎(chǔ),使用模型、視圖及控制器的架構(gòu)實(shí)現(xiàn)圖形編程工具,并且通過代碼轉(zhuǎn)換器的設(shè)計實(shí)現(xiàn)圖形代碼及文本代碼兩者的等價轉(zhuǎn)換。將圖形編程工具應(yīng)用到實(shí)際編程中,證明了本文中設(shè)計的圖形編程工具能夠滿足實(shí)際的需求,并且提高圖形編程語言設(shè)計的效率,增強(qiáng)了其可復(fù)用性及維護(hù)性。

關(guān)鍵詞 Java語言;圖形編程工具;設(shè)計;應(yīng)用

中圖分類號 TP3 文獻(xiàn)標(biāo)識碼 A 文章編號 1674-6708(2017)181-0029-02

由于現(xiàn)在一些青少年過分沉迷于網(wǎng)絡(luò)游戲中,為了解決這一問題,相關(guān)人員就研發(fā)了游戲機(jī)器人平臺,創(chuàng)新游戲的方式。用戶能夠根據(jù)平臺對機(jī)器人進(jìn)行編程,使機(jī)器人能夠代替自己玩游戲,之后根據(jù)游戲結(jié)果修改程序,之后繼續(xù)游戲。但是部分青少年沒有編程的概念和知識,為了能夠解決這個問題,本文就設(shè)計了基于Java語言的圖形編程工具,以此將編程有效簡化,將重點(diǎn)放到通過邏輯圖形實(shí)現(xiàn)功能的控制上,避免深奧的語句編程,實(shí)現(xiàn)娛樂及培養(yǎng)思維能力的目的。

1 圖形編程工具總體設(shè)計

根據(jù)機(jī)器人編程的特點(diǎn),本文將事件驅(qū)動編程與圖形編程相結(jié)合,從而便于開發(fā)人員發(fā)揮機(jī)器人的硬件能力,縮短圖形編程工具的研發(fā)周期。

為了能夠滿足事件驅(qū)動與圖形編程思想需求,圖形編程工具的總體設(shè)計主要包括以下步驟:

其一,定義事件庫。用戶事件及系統(tǒng)事件構(gòu)成了事件庫,不同事件具有不同的觸發(fā)模式。系統(tǒng)事件通過硬件中斷所觸發(fā),具有較快的響應(yīng)速度。開發(fā)人員自定義用戶事件,以EzCAN協(xié)議數(shù)據(jù)包為基礎(chǔ),通過軟件觸發(fā)。

其二,定義事件、動作等圖形化表現(xiàn)形式。在定義事件庫之后,為了能夠?qū)⑹录愋团c其他編程元素區(qū)分開來,就要將其表現(xiàn)形式進(jìn)行設(shè)計,也就是圖形化方案。

其三,定義動作函數(shù)庫。動作函數(shù)庫中具有控制機(jī)器人的函數(shù),開發(fā)人員直接調(diào)用算法和程序,以此縮短開發(fā)時間,提高系統(tǒng)執(zhí)行速度。

其四,圖形化界面操作設(shè)計。根據(jù)其三選擇實(shí)現(xiàn)圖形化編程平臺,設(shè)計圖形化界面中的數(shù)據(jù)結(jié)構(gòu),基于可維護(hù)性、擴(kuò)展性及跨平臺,實(shí)現(xiàn)圖形化界面操作。

其五,設(shè)計并實(shí)現(xiàn)圖形編譯系統(tǒng)。將圖形化程序轉(zhuǎn)換為二進(jìn)制代碼。

2 圖形編輯器設(shè)計

通過MVC架構(gòu)模型對圖形編輯器進(jìn)行設(shè)計,通過應(yīng)用程序的數(shù)據(jù)層、表現(xiàn)層和控制層實(shí)現(xiàn)圖形編輯器的演化。圖形編輯器模型的主要目的就是實(shí)現(xiàn)軟件處理過程中問題的抽象化,并且將應(yīng)用過程中的邏輯關(guān)系、核心數(shù)據(jù)和處理過程進(jìn)行封裝。視圖的主要目的就是使用圖形等方式,將后臺模型中的邏輯關(guān)系、數(shù)據(jù)和狀態(tài)信息充分展現(xiàn)出來。控制器的作用就是實(shí)現(xiàn)用戶在使用過程中能夠操作編輯器,并且協(xié)調(diào)模型和視圖。圖形編輯器設(shè)計的實(shí)現(xiàn)是通過Eclipse平臺中的CEF插件進(jìn)行的。以下對上述關(guān)鍵部分的設(shè)計進(jìn)行詳細(xì)分析。

2.1 視圖的設(shè)計

實(shí)現(xiàn)圖形方式編程就要使用圖形符號,那么就要使元模型中的語言元素變?yōu)閳D形符號,并且通過前臺實(shí)現(xiàn)圖形代碼的連接和組合,將此形式相互聯(lián)系成為視圖圖形。視圖設(shè)計是擴(kuò)充圖形語言的抽象化過程,通過使元模型中的基本元素成為對應(yīng)的圖形類,還要使連接線、圓形和矩形等圖形符號成為程序代碼和邏輯關(guān)系,能夠在前臺以圖形的方式為用戶呈現(xiàn)。視圖圖形類還能夠解決與圖形編輯相關(guān)的問題,比如尺寸的修改、組合的分離、移動等圖形實(shí)施的操作。

2.2 模型的設(shè)計

設(shè)計模型的主要目的就是為了將圖形代碼中的核心數(shù)據(jù)和邏輯關(guān)系進(jìn)行保存,通過視圖圖形將圖形代碼結(jié)構(gòu)、邏輯及內(nèi)容展示在前臺中。在后臺中,編輯器要對視圖圖形創(chuàng)建對應(yīng)的模型對象,使其保存代碼信息。編輯器創(chuàng)建的模型對象實(shí)質(zhì)為元模型的基本要素對象,設(shè)計模型就是以編碼為基礎(chǔ),實(shí)現(xiàn)元模型中的所有元素和元素之間的語法和語義。

在元模型中添加管理監(jiān)聽器的機(jī)制,能夠使客戶調(diào)用程序?qū)δP蛯ο筮M(jìn)行操作,從而對內(nèi)部屬性值進(jìn)行修改,那么模型對象也就會將修改的內(nèi)容和類型都通知到監(jiān)聽器中。之后,根據(jù)模型的變化進(jìn)行相應(yīng)的動作。比如用戶通過屬性編輯器改變條件語句的判斷條件之后,其內(nèi)部變量Condition值也會發(fā)生相應(yīng)變化,通過監(jiān)聽器模型中的SET對象,將Condition變量的值發(fā)送到監(jiān)聽器中。

2.3 控制器的設(shè)計

控制器的主要作用是協(xié)調(diào)視圖及模型,本文通過擴(kuò)展和繼承GEF中的EditPart類對控制器進(jìn)行操作。

2.3.1 實(shí)現(xiàn)模型對象的監(jiān)聽

控制器作為內(nèi)部模型對象中的一部分,能夠?qū)崿F(xiàn)監(jiān)聽器的接口。當(dāng)模型對象向控制器發(fā)送改變內(nèi)部數(shù)據(jù)的命令的時候,控制器就會根據(jù)改變之后的類型和內(nèi)容創(chuàng)建另外一個視圖。除了創(chuàng)建新視圖之外,控制器還能夠?qū)⒁晥D的位置、尺寸及連接等特性進(jìn)行改變,從而保證視圖和模型能夠?qū)?yīng)。為了使控制器能夠?qū)崿F(xiàn)上述功能,每個控制器都要根據(jù)自身需求實(shí)現(xiàn)視圖的創(chuàng)建和更新。

2.3.2 編輯并為對應(yīng)的模型對象反饋信息

控制器的功能主要是通過命令類和編輯策略類實(shí)現(xiàn)的。命令類主要包括對模型對象和內(nèi)部屬性進(jìn)行更新的具體類,就控制器來說,要通過特定的需求和相對應(yīng)的編輯策略類滿足用戶編輯的需求,以此對后臺模型的內(nèi)部數(shù)據(jù)進(jìn)行修改,使編輯操作和模型數(shù)據(jù)相對應(yīng)。編輯策略類在控制器的內(nèi)部,能夠根據(jù)用戶編輯視圖的類型創(chuàng)建對應(yīng)的命令類對象。

2.3.3 設(shè)計代碼轉(zhuǎn)換器

設(shè)計代碼轉(zhuǎn)換器的作用主要是通過圖形編輯器后臺中的模型對象,以此獲得全新的圖形代碼,之后調(diào)用翻譯部件自動生成文本代碼,最終使代碼能夠滿足Java語言需求。其中翻譯部件的主要功能就是實(shí)現(xiàn)翻譯,是以代碼模板機(jī)制為基礎(chǔ)進(jìn)行的,其主要思想就是通過對文本代碼內(nèi)容進(jìn)行劃分,包括穩(wěn)定的主體框架及變動的局部細(xì)節(jié)。前者表示代碼模板,后者是通過查詢模型對象得到的。

要使元模型中的語言元素能夠具有對應(yīng)的翻譯部件,比如IfElse元素,它的翻譯部件表示為IfElseCodeGen,使其通過次序把字符串中的if、空白符、左括號“(”、判斷條件字符串、右括號“)”、左大括號“{”、由trueSegment變量產(chǎn)生的語句塊代碼字符串、右大括號“}”、“else”、左大括號“{”、由falseSegment變量產(chǎn)生的語句塊代碼字符串、右大括號“}”寫入到緩沖變量codeBuffer中,在整個翻譯結(jié)束之后,codeBuffer中的Java代碼字符串與IfElse元素實(shí)例相對應(yīng)。

代碼模塊要求翻譯部件根據(jù)設(shè)定好的步驟進(jìn)行元素實(shí)例的查詢,之后根據(jù)設(shè)定好的位置、順序和形式將文本代碼寫入到緩沖變量中。

為了能夠使本文中所設(shè)計的圖形編程工具能夠?qū)嶋H應(yīng)用,就將設(shè)計好的圖像編程工具率先在游戲機(jī)器人中使用。用戶可以根據(jù)此工具實(shí)現(xiàn)機(jī)器人的圖像編程,使機(jī)器人能夠代替自己玩游戲?;诖?,可以得出,本文中所設(shè)計的圖形編程工具能夠在現(xiàn)實(shí)中應(yīng)用,并且能夠滿足不同人群的需求,還能夠提高圖形編程語言設(shè)計效率,并且增強(qiáng)圖形編輯器在使用過程中的可復(fù)用性及維護(hù)性。此圖形編程工具也可以在其他語言編程設(shè)計過程中使用。

3 結(jié)論

本文主要研究了基于Java語言的圖形編程工具的設(shè)計,把純文本語言轉(zhuǎn)化為圖形。與文本編程相比,本文中所涉及的圖形編程具有一定的優(yōu)勢,比如:界面生動形象,人們理解起來更加方便;使用起來較為簡單,在沒有編程知識的基礎(chǔ)上也能夠使用,不受年齡及技能掌握程度的限制;方便了開發(fā)人員將抽象化的邏輯問題通過簡潔的形式進(jìn)行表示,有效提高了程序設(shè)計的效率和質(zhì)量。

參考文獻(xiàn)

[1]林信良.Spring2.0技術(shù)手冊[M].北京:電子工業(yè)出版社,2007.

[2]美威爾德,斯尼德,等.SpringFramework 2[M].

猜你喜歡
Java語言應(yīng)用設(shè)計
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于Android平臺的健康醫(yī)療APP設(shè)計與開發(fā)
GM(1,1)白化微分優(yōu)化方程預(yù)測模型建模過程應(yīng)用分析
科技視界(2016年20期)2016-09-29 12:03:12
煤礦井下坑道鉆機(jī)人機(jī)工程學(xué)應(yīng)用分析
科技視界(2016年20期)2016-09-29 11:47:01
氣體分離提純應(yīng)用變壓吸附技術(shù)的分析
科技視界(2016年20期)2016-09-29 11:02:20
會計與統(tǒng)計的比較研究
大學(xué)生創(chuàng)業(yè)平臺設(shè)計與實(shí)現(xiàn)
計算機(jī)軟件開發(fā)中的JAVA編程語言分析
昭苏县| 泰宁县| 子长县| 西吉县| 绵阳市| 兴化市| 宜州市| 山东省| 合作市| 汝州市| 色达县| 元江| 池州市| 马鞍山市| 保靖县| 德江县| 曲麻莱县| 东丽区| 秀山| 湟中县| 八宿县| 拉孜县| 曲麻莱县| 施秉县| 南靖县| 沙湾县| 资兴市| 永年县| 永胜县| 明溪县| 永寿县| 淮南市| 汉川市| 玉树县| 葫芦岛市| 徐闻县| 芦山县| 白水县| 横山县| 云龙县| 曲靖市|