首页 百科知识 集成框架设计

集成框架设计

时间:2022-10-06 百科知识 版权反馈
【摘要】:在实现SCADA系统和GIS系统集成的过程中,平台设计框架使用了Flex Viewer,它是可以高效开发基于Web的地理信息应用系统的一种基本架构。在Flex Viewer中,采用Widget的方式进行模块设计。注意到Event Bus采用单例模式,保证在整个框架中只有一个Event Bus。Event Bus中使用的事件类型都是由App Event.as这个类定义,它负责帮助Event Bus在各个组件间传递消息。Flex Viewer是基于事件机制,使用模块化设计,每一个模块负责各自的任务,互不侵入。模块之间的消息传递通过Event Bus实现。

在实现SCADA系统和GIS系统集成的过程中,平台设计框架使用了Flex Viewer,它是可以高效开发基于Web的地理信息应用系统的一种基本架构。可以屏蔽底层烦琐的操作,比如通信机制。此框架和服务器端的通信是基于Web Service的。在服务器端,发布出你的服务,比如地图服务,前端只需简单的调用操作。开发人员更需关注你的功能模块设计。它由以下几个部分组成。

5.5.2.1 Widget开发

在Flex Viewer中,采用Widget的方式进行模块设计。每一个模块都是一个Widget,具体说是Base Widget。

IWidget Template和IBase Widget是实现接口,Widget Template和Base Widget分别具体实现。在初始化Base Widget时,会依赖IWidget Template去初始化每个模块的title、icon等属性。

由于Base Widget继承了Module,所以每一个Widget都是一个Module。好处很多:延迟加载,高内聚性,模块之间几乎没有侵入性。

5.5.2.2 Container结构

Flex Viewer Container,整个框架看着是一个大的Container,而这个Container是有一些高内聚低耦合的组件组成:Config Manager用来管理配置文件,Widget Manager管理所有的Widget。Site Container.mxml持有对这些组件的引用。

5.5.2.3 核心事件处理

因为Flex采用事件机制,那么在Flex Viewer中,各组件(*Manager)之间通信时是怎样完成的呢?这里就提到了Flex Viewer中核心类:Event Bus。注意到Event Bus采用单例模式,保证在整个框架中只有一个Event Bus。Site Container.mxml中提供了一系列静态的代理方法可以访问Event Bus。

每一个组件(*Manager)初始化的时候,都会监听相应的事件;而Site Container会把监听任务委托给Event Bus,并由Event Bus统一分发事件。通过这种发布/订阅的消息模式,组件之间可以轻易交互而不用直接访问组件中的方法。所以,这种方式使组件解耦,可复用性很高。

Event Bus中使用的事件类型都是由App Event.as这个类定义,它负责帮助Event Bus在各个组件间传递消息。它是一个自定义事件,负载着数据传递的功能。

Flex Viewer是基于事件机制,使用模块化设计,每一个模块负责各自的任务,互不侵入。模块之间的消息传递通过Event Bus实现。自定义Widget编译完在各自的配置文件中配置路径、图标等信息,并在config.xml中添加此配置文件的路径信息,最后由Config Manager统一加载config.xml文件。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈