• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      設(shè)計模式在圖上信息關(guān)聯(lián)查詢中的應(yīng)用

      2018-01-13 01:45:22趙玉林
      關(guān)鍵詞:設(shè)計模式視圖關(guān)聯(lián)

      ◆趙玉林 馮 燕

      (中國電子科技集團(tuán)公司第二十八研究所 江蘇 210000 )

      0 引言

      在作戰(zhàn)指揮控制中,指揮員需要對戰(zhàn)場環(huán)境信息進(jìn)行查詢和顯示,包括敵我雙方的機(jī)場、港口、部隊部署等,其中查詢方式需要支持按屬性查詢、按名稱查詢、按矩形區(qū)域、按圓形區(qū)域查詢等多種查詢方式;查詢結(jié)果需要以軍標(biāo)、列表、文字、圖片等多種展現(xiàn)形式進(jìn)行展現(xiàn);查詢結(jié)果需要支持刪除、定位、閃爍等控制操作。同時指揮員在使用過程中,根據(jù)作戰(zhàn)需求提出了新的查詢內(nèi)容以及展現(xiàn)方式。針對上述需求,本文基于設(shè)計模式的設(shè)計思想,構(gòu)造了一個良好的、松耦合的軟件架構(gòu),以適應(yīng)指揮員使用需求變化的需要,具備較好的適應(yīng)性和可擴(kuò)展性。

      1 MVC設(shè)計模式

      對于界面設(shè)計可變性的需求,MVC把交互系統(tǒng)的組成分解成模型、視圖、控制三種部件[1-2]。模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導(dǎo)致顯示的更新。這實際上是一種模型的變化——傳播機(jī)制。

      視圖(View) 指的是用戶交互界面,在MVC 設(shè)計模式中,將界面展示與業(yè)務(wù)流程的處理相分離,視圖只負(fù)責(zé)界面數(shù)據(jù)和用戶請求的采集和簡單處理,而將業(yè)務(wù)流程的處理完全交給模型部分。同時,接受模型的處理結(jié)果顯示給用戶。

      控制器(Controller)指的是用戶請求的接收和轉(zhuǎn)發(fā),控制從視圖接收用戶請求,并不對用戶提供的業(yè)務(wù)數(shù)據(jù)進(jìn)行任何處理,而是根據(jù)用戶提供的業(yè)務(wù)信息傳遞給相應(yīng)的模型進(jìn)行處理,模型處理完成后,再選擇相應(yīng)的視圖展示給用戶。

      模型(Model)指的是業(yè)務(wù)流程的處理。模型是MVC 設(shè)計模式的核心,封裝了系統(tǒng)的核心流程和業(yè)務(wù)規(guī)則。模型接受來自視圖的用戶請求或數(shù)據(jù),并將處理結(jié)果返回給視圖,業(yè)務(wù)流程的處理過程對其它模塊是封裝的,僅提供訪問接口,保證了模塊間的獨立性,使系統(tǒng)易于維護(hù)。當(dāng)用戶對界面顯示有新的要求時,并不需要修改后臺的業(yè)務(wù)邏輯,反之,當(dāng)業(yè)務(wù)邏輯發(fā)生變化時,也能夠保持用戶界面不變。

      采用MVC模式可以清楚地分離用戶界面與業(yè)務(wù)邏輯,能夠為系統(tǒng)開發(fā)提供基本的分析方法和清晰的設(shè)計框架,能夠?qū)⒛K的功能限制在局部范圍內(nèi),降低系統(tǒng)的耦合度,從而提高軟件性能、可維護(hù)性以及代碼復(fù)用率,從而達(dá)到提高軟件質(zhì)量的目的。

      2 軟件設(shè)計與實現(xiàn)

      軟件框架,在實際使用過程中,參謀人員主要關(guān)注的是態(tài)勢圖形屏,其操作也主要是基于態(tài)勢圖形進(jìn)行的,圖上信息關(guān)聯(lián)查詢應(yīng)能夠提高參謀人員查詢相關(guān)資料并進(jìn)行方案、計劃擬制以及圖形的標(biāo)繪的效率。信息的分類須從用戶的角度出發(fā),達(dá)到合理、快速、方便、直觀和可用。具體包括:查詢信息的圖示化,如敵我當(dāng)面兵力的火力范圍、部署兵力的作戰(zhàn)半徑、最快到達(dá)作戰(zhàn)區(qū)域的時間等;查詢信息的關(guān)聯(lián)化:如從海域(空域等)查詢作戰(zhàn)平臺、從作戰(zhàn)平臺查詢裝備、從裝備查詢性能;同時也可反向查詢平臺隸屬單位、任務(wù)使命等。

      綜合考慮用戶需求,態(tài)勢圖形屏承擔(dān)著向用戶顯示問題模型、與用戶進(jìn)行操作和I/O 交互的職責(zé),用戶一方面希望保持用戶界面穩(wěn)定,另一方面又要求態(tài)勢圖形屏必須根據(jù)用戶需要進(jìn)行顯示內(nèi)容和顯示形式的調(diào)整?;贛VC設(shè)計模式構(gòu)建了圖上信息關(guān)聯(lián)查詢的軟件架構(gòu),如圖1 所示。

      圖上信息關(guān)聯(lián)查詢軟件按照三層結(jié)構(gòu)分為表示層、業(yè)務(wù)層和數(shù)據(jù)層。MVC 設(shè)計模式中的視圖和控制器的功能在表示層中實現(xiàn);模型則涵蓋了三層架構(gòu)中的業(yè)務(wù)層和數(shù)據(jù)層。在業(yè)務(wù)層我們定義了業(yè)務(wù)實體對象和業(yè)務(wù)處理對象;數(shù)據(jù)層包括數(shù)據(jù)對象、數(shù)據(jù)訪問組件等??刂破魍ㄟ^態(tài)勢圖形屏獲取用戶請求,并將其反饋給模型,實現(xiàn)對模型的查詢控制,協(xié)調(diào)模型與視圖之間的交互;數(shù)據(jù)庫為模型提供數(shù)據(jù)服務(wù),數(shù)據(jù)訪問對原始數(shù)據(jù)進(jìn)行操作,完成與業(yè)務(wù)邏輯之間的交互;通過數(shù)據(jù)層和業(yè)務(wù)層對查詢請求的處理,模型將查詢數(shù)據(jù)返回視圖,由控制器進(jìn)行顯示樣式的選擇,最終將用戶請求的查詢結(jié)果以不同顯示樣式的形式返回給態(tài)勢圖形屏。

      圖1 MVC設(shè)計模式在圖上信息關(guān)聯(lián)查詢中的應(yīng)用模型

      3 視圖設(shè)計與實現(xiàn)

      提供統(tǒng)一的查詢結(jié)果數(shù)據(jù)的顯示樣式,包括軍標(biāo)、列表、文字、圖片等,可支持同時顯示其中的一種或多種,如圖2所示。

      4 控制器的設(shè)計與實現(xiàn)

      設(shè)計模式中的Command模式可以將調(diào)用操作的對象與知道如何實現(xiàn)該操作的對象解耦。命令是頭等的對象,可像其他的對象一樣被操縱和擴(kuò)展,還可將多個命令裝配成一個復(fù)合命令。另外,使用Command模式,增加新的命令很容易,因為這無需改變已有的類。因此采用Command模式,將一個查詢請求封裝為一個對象,綁定一個接收者對象到一個動作并調(diào)用接收者的相應(yīng)操作以實現(xiàn)Execute,見表1。

      圖2 查詢結(jié)果數(shù)據(jù)顯示樣式

      表1 查詢命令表

      5 模型的設(shè)計與實現(xiàn)

      模型用來管理應(yīng)用程序域的行為和數(shù)據(jù),可分為業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層。業(yè)務(wù)邏輯層從控制器接收用戶查詢請求,對業(yè)務(wù)邏輯進(jìn)行處理,并將處理結(jié)果返回給控制器,以供控制器選擇視圖顯示。數(shù)據(jù)訪問層封裝了與數(shù)據(jù)庫連接和交互的公共操作,專門處理與數(shù)據(jù)庫相關(guān)的操作。

      6 業(yè)務(wù)邏輯層

      6.1 基于XML的查詢配置文件設(shè)計

      XML (eXtensible Markup Language) 即可擴(kuò)展標(biāo)識語言,它是用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語言[3-4],描述了文檔數(shù)據(jù)對象的結(jié)構(gòu)和意義,不需要對特定領(lǐng)域提供特殊的支持,也不需要任何插件,相對于以往任何一種標(biāo)記語言,它具有如下特點:

      (1)XML是描述數(shù)據(jù)的標(biāo)記語言,它允許將數(shù)據(jù)組織成數(shù)據(jù)結(jié)構(gòu),用戶可以按照自己的需要剪裁數(shù)據(jù);

      (2)XML是可擴(kuò)展的,用戶可以自行定義自己的標(biāo)記和文檔結(jié)構(gòu),可以在XML文檔中以自己的方式組織數(shù)據(jù),以便更好地從語義上修飾數(shù)據(jù),這樣就能以容易而一致的方式格式化和傳送數(shù)據(jù);

      (3)XML文件結(jié)構(gòu)嚴(yán)謹(jǐn),每一個XML文件都有物理和邏輯結(jié)構(gòu):物理上而言,文件由稱為實體的單元組成;邏輯上而言,文件由聲明、元素、注釋、字符引用和處理指令組成,物理和邏輯結(jié)構(gòu)必須嚴(yán)格地嵌套,并且其嵌套可以復(fù)雜到任意程度,能表示面向?qū)ο蟮牡燃墝哟危?/p>

      (4)XML文件是可校驗的,它可以包括一個語法描述,使應(yīng)用程序可以對此文件進(jìn)行結(jié)構(gòu)確認(rèn)。

      我們將查詢命令、查詢內(nèi)容、結(jié)果顯示類型、關(guān)聯(lián)查詢通過xml文件進(jìn)行形式化表示,如圖3,其中關(guān)聯(lián)查詢配置見圖4。

      圖3 查詢配置示意圖

      圖4 關(guān)聯(lián)查詢配置示意圖

      6.2 業(yè)務(wù)邏輯處理設(shè)計

      業(yè)務(wù)邏輯處理流程包括查詢命令解析與匹配、查詢結(jié)果獲取、查詢結(jié)果封裝等,具體業(yè)務(wù)邏輯處理信息流程見圖5。

      (1)查詢命令解析與匹配

      接收從圖上信息查詢顯示服務(wù)的查詢命令并進(jìn)行解析,以分類編碼、編碼和敵我屬性為匹配關(guān)鍵字與查詢基本配置進(jìn)行匹配關(guān)聯(lián),自動獲取查詢語句。

      (2)查詢結(jié)果獲取

      根據(jù)自動匹配獲取的查詢語句調(diào)用通用數(shù)據(jù)庫查詢組件從數(shù)據(jù)庫中獲取查詢結(jié)果,并生成統(tǒng)一的格式文件。

      (3)查詢結(jié)果封裝

      讀取指定格式的文件,并根據(jù)查詢配置的查詢結(jié)果顯示樣式進(jìn)行查詢結(jié)果的封裝,其中進(jìn)一步的關(guān)聯(lián)查詢命令,通過關(guān)聯(lián)查詢配置進(jìn)行組裝,如可將圖4所示中的關(guān)聯(lián)查詢配置組裝成“INQ GC 5 BD 1 xx部隊” 關(guān)聯(lián)查詢命令,菜單名為“維護(hù)部隊”。業(yè)務(wù)邏輯處理在接收到該查詢命令時,與圖3中的第二條查詢配置進(jìn)行匹配。

      圖5 業(yè)務(wù)邏輯處理流程圖

      7 數(shù)據(jù)訪問層

      設(shè)計通用數(shù)據(jù)庫查詢組件負(fù)責(zé)與數(shù)據(jù)庫建立連接,封裝數(shù)據(jù)庫方法,提供數(shù)據(jù)獲取接口,屏蔽了對數(shù)據(jù)庫訪問的細(xì)節(jié)和編碼特征??蓪?shù)據(jù)存成指定格式的數(shù)據(jù)文件,包括有標(biāo)題和無標(biāo)題兩種格式,見圖6,同時支持圖片數(shù)據(jù)的獲取,可將圖片數(shù)據(jù)生成為指定文件。

      圖6 數(shù)據(jù)文件示意圖

      8 結(jié)束語

      圖上信息關(guān)聯(lián)查詢軟件采用MVC模式設(shè)計和開發(fā),使得整個軟件架構(gòu)結(jié)構(gòu)清晰,容易進(jìn)行模塊劃分,增強(qiáng)各層和各模塊的高內(nèi)聚、低耦合的特性,使各模塊的開發(fā)相對獨立,從而使軟件的擴(kuò)展性、復(fù)用性和維護(hù)性得到極大的提高,給系統(tǒng)的開發(fā)、擴(kuò)展、維護(hù)帶來了方便;且由于不同層各司其職,每一層不同的應(yīng)用具有某些相同的特征,這有利于通過工程化、工具化產(chǎn)生管理程序代碼,可以很容易地再加入新的業(yè)務(wù)和功能,從而適應(yīng)各種需求的變化。

      [1]Erich Gamma,李英軍.設(shè)計模式-可復(fù)用面向?qū)ο筌浖幕A(chǔ).機(jī)械工業(yè)出版社,2000.

      [2]陳超,金晶.態(tài)勢顯示軟件人機(jī)界面建構(gòu)方法研究[J].指揮信息系統(tǒng)與技術(shù),2011.

      [3]胡海靜,王育平.XML技術(shù)精粹.機(jī)械工業(yè)出版社,2002.

      [4]陳超,金晶.CISR系統(tǒng)進(jìn)程間數(shù)據(jù)推送方式改進(jìn)及應(yīng)用[J].指揮信息系統(tǒng)與技術(shù),2012.

      猜你喜歡
      設(shè)計模式視圖關(guān)聯(lián)
      仿生設(shè)計模式的創(chuàng)新應(yīng)用探索
      玩具世界(2023年6期)2024-01-29 12:14:36
      “1+1”作業(yè)設(shè)計模式的實踐探索
      “一帶一路”遞進(jìn),關(guān)聯(lián)民生更緊
      交通機(jī)電工程設(shè)計模式創(chuàng)新探討
      奇趣搭配
      5.3 視圖與投影
      視圖
      Y—20重型運(yùn)輸機(jī)多視圖
      SA2型76毫米車載高炮多視圖
      智趣
      讀者(2017年5期)2017-02-15 18:04:18
      措美县| 鲁山县| 延边| 基隆市| 嫩江县| 进贤县| 平武县| 双柏县| 榆中县| 航空| 万源市| 丁青县| 神木县| 兴海县| 城固县| 那曲县| 宁蒗| 大邑县| 徐闻县| 莒南县| 社旗县| 宣恩县| 垦利县| 新民市| 阳高县| 敦煌市| 来宾市| 开封县| 宿迁市| 关岭| 延寿县| 云林县| 双流县| 漾濞| 额尔古纳市| 盐山县| 普定县| 曲阜市| 芜湖市| 定日县| 汶川县|