首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex Viewer解析—–构造(3)

2012-11-21 
Flex Viewer解析—–结构(3)其他部分:该部分主要介绍配置信息、样式信息、事件信息等的组织结构这些部分我们在

Flex Viewer解析—–结构(3)
其他部分:该部分主要介绍配置信息、样式信息、事件信息等的组织结构
这些部分我们在界面中看不到,但是他们起着至关重要的作用,也就我们说的总体架构里面的中间部分。
首先,看看配置信息的组织,ConfigManager.as和ConfigData.as来完成。
ConfigData.as中定义了配置信息的数据结构

public function ConfigData()
{
configUI = [];
configMenus = [];
configMap = [];
configBasemaps = [];
configExtents = [];
configWidgets = [];
}

我们可以清晰地看到,我们需要的配置信息基本上都包含其中,如果需要进行配置信息的扩展,那么我们就首先要在ConfigData里面加上扩展的数据结构。
ConfigManager.as负责把配置文件中的信息读取初始化到一个ConfigData里面,并执行事件分发。看一下里面的内容还是比较容易明白的。就不做介绍了。

然后,样式文件的组织在UIManager.as中实现,打开此文件,我们可以在配置文件加载成功的事件监听函数中找到这一句:
StyleManager.loadStyleDeclarations(value);
这一句就是将配置的样式文件载入到我们的系统中。

第三,我们看看自定义事件是如何组织的,事件的组织主要在EventBus.as和AppEvent.as中,前者负责分发事件,后者定义事件。在此不多介绍,以后专门介绍。

第四,程序总体组织SiteContainer,其将所有的这些组件,配置全部在这个SiteContainer里面进行定义,保证系统中获取的对象都是同一个对象,那就是在SiteContainer中定义的对象。SiteContainer本身也是静态的,就是在整个系统中只有一个Sitecontainer,这样我们就可以通过它方便的获取各个控件中的信息。自定义事件的分发也是由他完成。以后文章会具体介绍。
第五,主窗体Index.mxml中信息加载,我们整个Application的显示完成有主窗体完成。其中的代码段为:










这一句就是使用静态的SiteContainer,并将SiteContainer中的组件进行实例化,然后在SiteContainer中实例化完成后,将这些对象加到应用程序中,完成最终的程序显示。
3、如何获取对象。
了解了上面的结构我们不难发现,所有的对象我们都可以在SiteContainer中找到,那么获取对象的方法我们就不难找到了。
例如获取地图对象。
通过SiteContainer.getInstance().mapManager,我们可以获取到map的管理类,那么获取地图对象就很简单了,我们只需在mapManager中加入返回map控件的函数getMap
将map对象返回回来,就可以了,是不是很方便?

至此,我们就把整个的结构说完了。有不足之处请网友指出

简单结构图如下:
    

热点排行