【 WebGis 开发框架FlexViewer 解读 】
? FlexViewer开发框架个人理解 ? ? ? ?一、整个应用程序公共事件列表----AppEvent ? ?????? 01、appError ?????? 02、configLoaded ?????? 03、mapLoaded ?????? 04、layerLoaded ?????? 05、basemapMenuClicked ?????? 06、widgetMenuClicked ?????? 07、setMapNavigation ?????? 08、setStatus ?????? 09、widgetShowInfo ?????? 10、setMapAction ?????? 11、dataAdded ?????? 12、dataUpdated ?????? 13、dataFetch ? ?二、整个应用程序事件分发器----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); ? ? 应用程序结构图 ? ? ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |