【 WebGis 開發框架FlexViewer 解讀 】

 

FlexViewer開發框架個人理解

 

 

 

 一、整個應用程序公共事件列表----AppEvent

 

       01appError

       02configLoaded

       03mapLoaded

       04layerLoaded

       05basemapMenuClicked

       06widgetMenuClicked

       07setMapNavigation

       08setStatus

       09widgetShowInfo

       10setMapAction

       11dataAdded

       12dataUpdated

       13dataFetch

 

 二、整個應用程序事件分發器----EventBus

 

       01、僅且只能有一個:使用靜態成員變量保證只有一個該對象

       02、提供的方法:向整個應用程序分發一個事件

 

 三、整個應用程序所使用的數據數據結構

      

       01、將該應用程序所使用的一切數據已對象形式封裝成爲一個

           對象(程序需要改進的地方)

 

       02、對數據內部按各自職能的不同分爲6種不同的類別

      

 四、層層揭開

 

  ()、最底層:整個應用程序最大的容器----Application

 

       01、功能:偵聽應用程序主繪圖區域鍵盤事件,添加事件處理

                 程序

       02、實現:

stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);

       03、實現自身容器的功能

 

  ()、第二層:整個應用程序最爲重要容器----SiteContainer

 

       01、功能:* 事件:監聽並處理整個應用程序所發生的錯誤

                                 分發容器加載完成事件

                              * 會話:爲其他層高級對象提供事件處理工具,分

                             發,註冊(監聽),移除

                    * 唯一:保障容器唯一性

                    * 狀態:設置程序當前操作狀態

 

  ()、第三層:各個並列層共同組成

 

     01、配置管理器----ConfigManager

      

           (01)、初始化:完成ConfigData對象的實例化

           (02)、會話:監聽底層容器初始化完成

                               分發數據加載完成事件並攜帶數據

           (03)

 

     02、界面樣式管理器----UIManager

      

           (01)、完成樣式表的加載,交由樣式管理器統一管理

 

     03、控制面板----Controller

 

           (01)、初始化:* 註冊配置文件加載事件----配置數據,

                                  導航條,操作菜單

 

                                          * 註冊地圖加載事件----配置地圖

 

                                          * 註冊程序狀態事件----配置當前操作狀    

                              

           (02)、菜單:會話與各個子組件

           (03)、控制內容:地圖,地圖操作狀態,程序菜單

           (04)

 

     04、數據管理----實現整個應用程序數據緩存與緩存訪問

        

           工具性:

           (01)、緩存: * 一級緩存----數組對象緩存

                                        * 二級緩存----哈希映射表

                                        * 三級緩存----邏輯地址緩存

           (02)、會話: * 數據發送

                                        * 數據增加

                                        * 數據的更新

 

     05、部件管理器----WidgetManagerDocked

      

           (01)、初始化

           (02)、會話:數據,地圖,圖層加載,部件加載

 

     06、地圖管理器----MapManager

      

       (01)、初始化:

       SiteContainer.addEventListener(AppEvent.CONFIG_LOADED, config);

       (02)、地圖操作會話:

SiteContainer.addEventListener(AppEvent.SET_MAP_NAVIGATION, changeNavigationbyMenu)

 

SiteContainer.addEventListener(AppEvent.BASEMAP_MENU_CLICKED, basemapMenuClicked)

                                  

//SiteContainer.addEventListener(AppEvent.SET_MAP_NAVIGATION, changeNavigationbyWidget)

 

SiteContainer.addEventListener(AppEvent.SET_MAP_ACTION, enableMapAction)

 

(03)、地圖彈出式窗口回話:

SiteContainer.addEventListener(AppEvent.SHOW_INFOWINDOW, widgetShowInfo);

 

 

應用程序結構圖

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章