• 
    

    
    

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

      基于GIS應(yīng)用程序開發(fā)框架的設(shè)計(jì)與實(shí)現(xiàn)

      2018-10-21 19:27:56邱健韓雨
      裝飾裝修天地 2018年6期
      關(guān)鍵詞:程序開發(fā)

      邱健 韓雨

      摘 要:針對應(yīng)用范圍日趨廣泛的GIS應(yīng)用程序,本文提出可用于程序開發(fā)的框架設(shè)計(jì)方法和實(shí)現(xiàn)方法,并通過實(shí)踐得出該方法合理可行,值得參考借鑒的結(jié)論,為GIS應(yīng)用程序更好的服務(wù)于人們?nèi)粘Ia(chǎn)生活提供技術(shù)支持。

      關(guān)鍵詞:GIS;程序開發(fā);框架設(shè)計(jì);框架設(shè)計(jì)實(shí)現(xiàn)

      1 引言

      在GIS技術(shù)快速發(fā)展與應(yīng)用日趨廣泛的局勢下,切實(shí)提高相關(guān)軟件與工具的開發(fā)效率,并保證軟件整體質(zhì)量,是目前面臨的亟待解決的主要問題。實(shí)踐表明,軟件復(fù)用是十分可行且有效的方式。通過對軟件復(fù)用的合理應(yīng)用,能設(shè)計(jì)出一套良好的GIS應(yīng)用程序開發(fā)框架,為開發(fā)人員及使用者提供有效的工具。

      2 基于GIS應(yīng)用程序開發(fā)框架設(shè)計(jì)

      目前常用的框架方案主要有三種,分別為組件式、軟總線式與插件式,不同方案具有不同的優(yōu)劣勢,單一采用其中一種框架方案,一般難以滿足預(yù)期要求。這三種方案的優(yōu)劣勢分別為:(1)組件式:優(yōu)勢為靈活度較大,劣勢為組件內(nèi)不可控,且二次開發(fā)難度較大,缺乏擴(kuò)展性;(2)軟總線式:優(yōu)勢為具有的擴(kuò)展性與靈活度,劣勢為實(shí)現(xiàn)技術(shù)較為復(fù)雜,且對效率有直接影響;(3)插件式:優(yōu)勢為便于維護(hù),有良好的擴(kuò)展性,劣勢為不同插件之間的互操作性較差[1]。

      基于此,在設(shè)計(jì)中應(yīng)做到取長補(bǔ)短,充分發(fā)揮多種框架方案的優(yōu)勢,即形成CG.ADF方案,以組件式方案為基礎(chǔ),采用插件機(jī)制,當(dāng)插件載入至框架時(shí)再引入權(quán)限控制。以上過程均由框架自主完成,二次開發(fā)者無需添加其它代碼。

      2.1 設(shè)計(jì)思想

      新設(shè)計(jì)思想主要是對現(xiàn)有全部資源進(jìn)行整合,為以后的二次開發(fā)提供統(tǒng)一、適用、可擴(kuò)展、便于維護(hù)的接口。此外,還應(yīng)為功能的擴(kuò)展提供支持,使權(quán)限與GIS平臺均對開發(fā)人員完全透明。

      2.2 框架設(shè)計(jì)

      框架由數(shù)據(jù)層、訪問層、框架層及擴(kuò)展層組成。其中,數(shù)據(jù)層主要包含三部分?jǐn)?shù)據(jù),分別為:(1)地圖數(shù)據(jù)庫,用于空間地理對象及其屬性信息的存儲;(2)權(quán)限數(shù)據(jù)庫,用于權(quán)限、用戶及角色等數(shù)據(jù)的存儲;(3)業(yè)務(wù)數(shù)據(jù)庫,用于對業(yè)務(wù)數(shù)據(jù)進(jìn)行整合,并以空間數(shù)據(jù)關(guān)聯(lián)方面的需要為依據(jù),結(jié)合業(yè)務(wù)數(shù)據(jù)類型,存儲和空間數(shù)據(jù)之間保持的相互關(guān)系。

      訪問層和數(shù)據(jù)層之間直接對應(yīng),同樣包含三部分,按照服務(wù)方式實(shí)施運(yùn)行,具有良好的獨(dú)立性:(1)GOS,即地理對象服務(wù),對空間對象及其屬性信息進(jìn)行查詢、修改和新加;(2)Authox,即權(quán)限服務(wù),對權(quán)限方面的數(shù)據(jù)進(jìn)行查詢、修改和新加;(3)Data Center,即業(yè)務(wù)數(shù)據(jù)總線服務(wù)端,對業(yè)務(wù)方面的數(shù)據(jù)進(jìn)行查詢、修改和新加。

      框架層,即CG.ADF,對訪問層所有接口進(jìn)行了封裝,這使二次開發(fā)者無需再考慮訪問層存在哪些模塊。對于現(xiàn)有模塊,可由各團(tuán)隊(duì)在相應(yīng)的時(shí)期通過開發(fā)而成,這些模塊無論是接口命令,還是使用方式,均不相同。在對GOS進(jìn)行訪問時(shí),主要依靠的是COM組件X2Net;在對Authox進(jìn)行訪問時(shí),依靠的是COM組件AuthoxClient;在對Data Center進(jìn)行訪問時(shí),依靠的是C# DII。這種不同難免使開發(fā)者面臨一定困難,所以對框架層而言,應(yīng)提供一致的接口[2]。

      在框架層得到空間數(shù)據(jù)以后,借助Map控件對地理對象進(jìn)行實(shí)時(shí)監(jiān)視??丶患壊捎肕VC模式,已經(jīng)屬于表現(xiàn)層。目前,傳統(tǒng)框架已經(jīng)可以提供很多控件,同時(shí)在管理模塊中對這些控件予以使用,獲得良好效果。Map處在底層平臺,經(jīng)封裝,和其它模塊建立了緊密的聯(lián)系,涉及控制與數(shù)據(jù)等方面的交互,此時(shí)均由框架完成這部分所有工作,極大的減輕了開發(fā)者工作強(qiáng)度?;诖耍谌碌目蚣墚?dāng)中,依然會提供UI,對和平臺之間有直接關(guān)聯(lián)的接口實(shí)施封裝,為后續(xù)二次開發(fā)提供便利。

      擴(kuò)展層實(shí)際上是新開發(fā)出的插件,是一個(gè)和業(yè)務(wù)有著緊密關(guān)系的全新模塊。插件規(guī)范主要采用接口的方式,簡單可行、直接可靠。擴(kuò)展層和訪問層之間的交互主要依靠ADF完成。

      現(xiàn)有方案的問題在于權(quán)限的配置過程過于復(fù)雜,缺乏和用戶之間的友好性,主要表現(xiàn)在以下兩個(gè)方面:第一,配置時(shí)雖然存在先后次序,但沒有提示,僅可以通過對配置的標(biāo)記才能對權(quán)限工具進(jìn)行使用;第二,權(quán)限工具中具體功能方法名稱的輸入必須由手動完成,易產(chǎn)生錯(cuò)誤,導(dǎo)致功能無法使用,而且這種錯(cuò)誤往往是人在不經(jīng)意情況下留下的,很難查出。針對第二個(gè)問題,可借助自動識別將所有名稱顯示到用戶界面,然后根據(jù)需要選取,不再需要手動輸入;針對第一個(gè)問題,應(yīng)對權(quán)限的配置進(jìn)行更改,根據(jù)正確的先后順序,顯示權(quán)限配置UI。這樣一來,既不用文字提示,也不用考慮具體的配置流程,系統(tǒng)可對流程自行定義,此時(shí)開發(fā)者僅需填寫必要信息[3]。

      3 基于GIS應(yīng)用程序開發(fā)框架設(shè)計(jì)實(shí)現(xiàn)

      (1)菜單插件。先以CG.ADF.Plugin.Engine.Menu為基礎(chǔ)派生出所需菜單類;然后在構(gòu)造函數(shù)當(dāng)中采用對函數(shù)進(jìn)行調(diào)用的方法設(shè)置所派生出的菜單的標(biāo)題與名稱;最后對菜單項(xiàng)進(jìn)行定義,菜單的標(biāo)題與名稱均采用CG.ADF.Menu.Item.Attribute進(jìn)行設(shè)置,在對菜單項(xiàng)當(dāng)中的事件處理進(jìn)行點(diǎn)擊以前,用于對處理方法的有效修飾[4]。

      (2)工具條插件。先以CG.ADF.Plugin.Engine.ToolBar為基礎(chǔ)派生出所需工具條類;然后在構(gòu)造函數(shù)當(dāng)中采用對函數(shù)進(jìn)行調(diào)用的方法設(shè)置所派生出的工具條類的標(biāo)題與名稱;最后對不同工具按鈕項(xiàng)進(jìn)行定義,工具條類的標(biāo)題與名稱均采用CG.ADF.ToolBar.Item.Attribute進(jìn)行設(shè)置。

      (3)可??看绑w插件。該插件的開發(fā)和以上插件有所不同,這是因?yàn)閷Υ绑w設(shè)計(jì)而言,它需滿足的功能要求十分復(fù)雜,很難通過抽象化處理得到可視化模塊,必須由二次開發(fā)者以業(yè)務(wù)要求為依據(jù)實(shí)施個(gè)性化、針對性的定制。此外,因C#語言無法實(shí)現(xiàn)類與類的多繼承,所以不能像其它插件那樣將數(shù)據(jù)部分定義在抽象基類。

      根據(jù)上述原因,該插件類可將CG.ADF.Plugin.Engine作為基礎(chǔ)直接實(shí)現(xiàn)繼承。對開發(fā)者而言,應(yīng)在對窗體進(jìn)行設(shè)計(jì)時(shí)具備自主性,此時(shí)框架僅提供基礎(chǔ)數(shù)據(jù)支持。其開發(fā)過程總結(jié)如下:新建一個(gè)窗體;對IDockableWindow接口進(jìn)行繼承與實(shí)現(xiàn);由開發(fā)者完成個(gè)性化設(shè)計(jì)工作[5]。

      (4)權(quán)限配置。①添加或刪除用戶及用戶組,并確定用戶和用戶組之間的相互關(guān)系。②對各類功能資源進(jìn)行配置或創(chuàng)建,填寫具體的資源說明,并對資源組之間保持的關(guān)系進(jìn)行設(shè)定。③創(chuàng)建或刪除權(quán)限,即(用戶組、資源組、功能組)三元關(guān)系的一個(gè)實(shí)例的添加與刪除。

      4 結(jié)束語

      以上設(shè)計(jì)方法與實(shí)現(xiàn)方式經(jīng)過了實(shí)踐的驗(yàn)證,說明采用以上設(shè)計(jì)、實(shí)現(xiàn)方法是切實(shí)可行的,具有良好的參考借鑒價(jià)值,能使二次開發(fā)具有良好的自主性與靈活性。

      參考文獻(xiàn):

      [1] 張毅,李國卿,趙軍喜,孫慶輝.插件式GIS應(yīng)用框架關(guān)鍵技術(shù)研究[J].測繪科學(xué)技術(shù)學(xué)報(bào),2010,2704:298~301.

      [2] 汶博,龍明,王青山,李曉剛.淺析Cairngorm框架在基于RIA網(wǎng)絡(luò)GIS中的應(yīng)用[J].測繪科學(xué),2010,3506:215~216+252.

      [3] 王倩,陳懷民.基于Mapobjects組件式GIS導(dǎo)航系統(tǒng)開發(fā)[J].科學(xué)技術(shù)與工程,2007(5):757~760.

      [4] 許巨平.基于ArcEngine插件式GIS應(yīng)用框架的設(shè)計(jì)與實(shí)現(xiàn)[J].安徽地質(zhì),2011,2101:60~62+73.

      [5] 聞平,王沖,楊林波,陳科,謝飛.基于插件技術(shù)的GIS應(yīng)用框架關(guān)鍵技術(shù)研究[J].測繪通報(bào),2012,S1:608~609+620.

      猜你喜歡
      程序開發(fā)
      淺析大學(xué)生在兼職小程序開發(fā)中遇到的問題
      APP應(yīng)用程序開發(fā)模式探究
      電子制作(2019年19期)2019-11-23 08:42:02
      基于TestStand的自動檢測程序開發(fā)
      電子測試(2018年11期)2018-06-26 05:56:16
      基于嵌入式系統(tǒng)Windows CE的應(yīng)用程序開發(fā)
      基于App inventor 2手機(jī)程序開發(fā)過程的學(xué)習(xí)與實(shí)——以“喵喵定時(shí)器”APP開發(fā)為例
      電子制作(2017年1期)2017-05-17 03:54:08
      基于ANSYS的大體積混凝土溫度應(yīng)力計(jì)算程序開發(fā)研究
      玛多县| 永安市| 冕宁县| 华容县| 林周县| 婺源县| 独山县| 定结县| 介休市| 柳州市| 体育| 思南县| 乐都县| 沙田区| 东源县| 修文县| 波密县| 沂南县| 陆河县| 辉县市| 黑山县| 中牟县| 平乐县| 靖远县| 新兴县| 枞阳县| 汶川县| 炎陵县| 福贡县| 雅安市| 赤水市| 天津市| 治县。| 封丘县| 宁陕县| 芜湖市| 柞水县| 耒阳市| 五河县| 武冈市| 林西县|