999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于GIS應用程序開發框架的設計與實現

2018-10-21 19:27:56邱健韓雨
裝飾裝修天地 2018年6期

邱健 韓雨

摘 要:針對應用范圍日趨廣泛的GIS應用程序,本文提出可用于程序開發的框架設計方法和實現方法,并通過實踐得出該方法合理可行,值得參考借鑒的結論,為GIS應用程序更好的服務于人們日常生產生活提供技術支持。

關鍵詞:GIS;程序開發;框架設計;框架設計實現

1 引言

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

2 基于GIS應用程序開發框架設計

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

基于此,在設計中應做到取長補短,充分發揮多種框架方案的優勢,即形成CG.ADF方案,以組件式方案為基礎,采用插件機制,當插件載入至框架時再引入權限控制。以上過程均由框架自主完成,二次開發者無需添加其它代碼。

2.1 設計思想

新設計思想主要是對現有全部資源進行整合,為以后的二次開發提供統一、適用、可擴展、便于維護的接口。此外,還應為功能的擴展提供支持,使權限與GIS平臺均對開發人員完全透明。

2.2 框架設計

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

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

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

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

擴展層實際上是新開發出的插件,是一個和業務有著緊密關系的全新模塊。插件規范主要采用接口的方式,簡單可行、直接可靠。擴展層和訪問層之間的交互主要依靠ADF完成。

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

3 基于GIS應用程序開發框架設計實現

(1)菜單插件。先以CG.ADF.Plugin.Engine.Menu為基礎派生出所需菜單類;然后在構造函數當中采用對函數進行調用的方法設置所派生出的菜單的標題與名稱;最后對菜單項進行定義,菜單的標題與名稱均采用CG.ADF.Menu.Item.Attribute進行設置,在對菜單項當中的事件處理進行點擊以前,用于對處理方法的有效修飾[4]。

(2)工具條插件。先以CG.ADF.Plugin.Engine.ToolBar為基礎派生出所需工具條類;然后在構造函數當中采用對函數進行調用的方法設置所派生出的工具條類的標題與名稱;最后對不同工具按鈕項進行定義,工具條類的標題與名稱均采用CG.ADF.ToolBar.Item.Attribute進行設置。

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

根據上述原因,該插件類可將CG.ADF.Plugin.Engine作為基礎直接實現繼承。對開發者而言,應在對窗體進行設計時具備自主性,此時框架僅提供基礎數據支持。其開發過程總結如下:新建一個窗體;對IDockableWindow接口進行繼承與實現;由開發者完成個性化設計工作[5]。

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

4 結束語

以上設計方法與實現方式經過了實踐的驗證,說明采用以上設計、實現方法是切實可行的,具有良好的參考借鑒價值,能使二次開發具有良好的自主性與靈活性。

參考文獻:

[1] 張毅,李國卿,趙軍喜,孫慶輝.插件式GIS應用框架關鍵技術研究[J].測繪科學技術學報,2010,2704:298~301.

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

[3] 王倩,陳懷民.基于Mapobjects組件式GIS導航系統開發[J].科學技術與工程,2007(5):757~760.

[4] 許巨平.基于ArcEngine插件式GIS應用框架的設計與實現[J].安徽地質,2011,2101:60~62+73.

[5] 聞平,王沖,楊林波,陳科,謝飛.基于插件技術的GIS應用框架關鍵技術研究[J].測繪通報,2012,S1:608~609+620.

主站蜘蛛池模板: 2020国产精品视频| 国产黄在线观看| 97超级碰碰碰碰精品| 欧美日韩一区二区在线播放| 国产91熟女高潮一区二区| 一区二区午夜| 欧美日韩国产在线观看一区二区三区 | 99久久亚洲综合精品TS| 婷婷在线网站| 99精品国产高清一区二区| 无码专区第一页| 九色综合伊人久久富二代| 国产美女一级毛片| 免费毛片全部不收费的| jizz在线观看| 美女啪啪无遮挡| 狠狠色综合网| 国内精品久久久久久久久久影视| 永久免费无码日韩视频| 精品无码日韩国产不卡av| 久久国产精品麻豆系列| 国产成人乱无码视频| 国产精品刺激对白在线| 91精品专区| 亚洲无码不卡网| 久久96热在精品国产高清| 久久永久免费人妻精品| 午夜色综合| 欧美日韩在线亚洲国产人| 日本手机在线视频| 欧美劲爆第一页| 欧美成人午夜视频| 一区二区三区精品视频在线观看| 国产门事件在线| 国产成年女人特黄特色毛片免| 自慰网址在线观看| 国产成人91精品| 成人精品区| 免费高清a毛片| 久久久亚洲色| 国产一二三区视频| 欧美亚洲一区二区三区在线| 婷婷丁香在线观看| 韩日免费小视频| 日韩AV无码免费一二三区| 尤物视频一区| 日韩午夜伦| 色婷婷狠狠干| 亚洲青涩在线| 超清无码一区二区三区| 久久黄色视频影| 日本午夜视频在线观看| 国产免费高清无需播放器| 日韩中文精品亚洲第三区| 在线欧美日韩国产| 国产欧美综合在线观看第七页| 国产精品久久久久久久久久久久| 亚洲αv毛片| 国产成人h在线观看网站站| 制服丝袜一区| 免费亚洲成人| 激情国产精品一区| 欧美一道本| 亚洲精品另类| 国产极品美女在线观看| 最近最新中文字幕在线第一页| 在线精品自拍| 国产香蕉在线| 一区二区三区高清视频国产女人| 久久成人免费| 免费看黄片一区二区三区| 国产69精品久久久久孕妇大杂乱 | 在线国产欧美| 另类专区亚洲| 精品视频第一页| 99九九成人免费视频精品| 国产成人精品免费视频大全五级| 九九九精品成人免费视频7| 久久国产精品77777| 国产麻豆91网在线看| 玖玖精品视频在线观看| 成人午夜视频免费看欧美|