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

        ?

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

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

        邱健 韓雨

        摘 要:針對(duì)應(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ì)下,切實(shí)提高相關(guān)軟件與工具的開發(fā)效率,并保證軟件整體質(zhì)量,是目前面臨的亟待解決的主要問題。實(shí)踐表明,軟件復(fù)用是十分可行且有效的方式。通過對(duì)軟件復(fù)用的合理應(yīng)用,能設(shè)計(jì)出一套良好的GIS應(yīng)用程序開發(fā)框架,為開發(fā)人員及使用者提供有效的工具。

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

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

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

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

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

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

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

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

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

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

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

        現(xiàn)有方案的問題在于權(quán)限的配置過程過于復(fù)雜,缺乏和用戶之間的友好性,主要表現(xiàn)在以下兩個(gè)方面:第一,配置時(shí)雖然存在先后次序,但沒有提示,僅可以通過對(duì)配置的標(biāo)記才能對(duì)權(quán)限工具進(jìn)行使用;第二,權(quán)限工具中具體功能方法名稱的輸入必須由手動(dòng)完成,易產(chǎn)生錯(cuò)誤,導(dǎo)致功能無法使用,而且這種錯(cuò)誤往往是人在不經(jīng)意情況下留下的,很難查出。針對(duì)第二個(gè)問題,可借助自動(dòng)識(shí)別將所有名稱顯示到用戶界面,然后根據(jù)需要選取,不再需要手動(dòng)輸入;針對(duì)第一個(gè)問題,應(yīng)對(duì)權(quán)限的配置進(jìn)行更改,根據(jù)正確的先后順序,顯示權(quán)限配置UI。這樣一來,既不用文字提示,也不用考慮具體的配置流程,系統(tǒng)可對(duì)流程自行定義,此時(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)中采用對(duì)函數(shù)進(jìn)行調(diào)用的方法設(shè)置所派生出的菜單的標(biāo)題與名稱;最后對(duì)菜單項(xiàng)進(jìn)行定義,菜單的標(biāo)題與名稱均采用CG.ADF.Menu.Item.Attribute進(jìn)行設(shè)置,在對(duì)菜單項(xiàng)當(dāng)中的事件處理進(jìn)行點(diǎn)擊以前,用于對(duì)處理方法的有效修飾[4]。

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

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

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

        (4)權(quán)限配置。①添加或刪除用戶及用戶組,并確定用戶和用戶組之間的相互關(guān)系。②對(duì)各類功能資源進(jìn)行配置或創(chuàng)建,填寫具體的資源說明,并對(duì)資源組之間保持的關(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] 張毅,李國(guó)卿,趙軍喜,孫慶輝.插件式GIS應(yīng)用框架關(guān)鍵技術(shù)研究[J].測(cè)繪科學(xué)技術(shù)學(xué)報(bào),2010,2704:298~301.

        [2] 汶博,龍明,王青山,李曉剛.淺析Cairngorm框架在基于RIA網(wǎng)絡(luò)GIS中的應(yīng)用[J].測(cè)繪科學(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].測(cè)繪通報(bào),2012,S1:608~609+620.

        猜你喜歡
        程序開發(fā)
        淺析大學(xué)生在兼職小程序開發(fā)中遇到的問題
        APP應(yīng)用程序開發(fā)模式探究
        電子制作(2019年19期)2019-11-23 08:42:02
        基于TestStand的自動(dòng)檢測(cè)程序開發(fā)
        基于嵌入式系統(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ā)研究
        国产亚洲曝欧美不卡精品| 国产成人亚洲精品青草天美| 欧美性大战久久久久久久| 久久精品国产亚洲综合色| 中文字幕一区二区网址| 欧美拍拍视频免费大全| 免费观看又色又爽又黄的| 亚洲另类欧美综合久久图片区| 青青草免费在线视频导航| 中文字幕日韩人妻少妇毛片| 欧美最大胆的西西人体44 | 国产午夜亚洲精品理论片不卡 | 午夜性色一区二区三区不卡视频 | 日韩亚洲国产中文字幕| 久久精品第九区免费观看| 韩国无码av片在线观看网站| 中文字幕亚洲无线码高清| 亚洲国产综合精品一区| 亚洲精品欧美精品日韩精品| 亚洲中文字幕无码专区| 亚洲AV无码一区二区水蜜桃| 狂插美女流出白浆视频在线观看| 国产女主播白浆在线观看| 色欲av永久无码精品无码蜜桃| 乌克兰少妇xxxx做受野外| 亚洲欧美日韩精品中文乱码| 97女厕偷拍一区二区三区| 日本国产成人国产在线播放| 美女高潮无遮挡免费视频| 国产精品一区区三区六区t区| 我要看免费久久99片黄色| 久久国内精品自在自线图片| 国产精品网站夜色| 久久精品蜜桃美女av| 粗大的内捧猛烈进出少妇 | 久久理论片午夜琪琪电影网| 亚洲av无码资源在线观看| 亚洲国产日韩综一区二区在性色| 亚洲一区二区免费在线观看视频| 少妇饥渴偷公乱a级无码 | 亚洲是图一区二区视频|