FlexViewer是基于ArcGIS API for Flex设计实现的一个Web GIS开发框架。基于FlexViewer,我们可以把主要精力放在业务逻辑的实现上,快速实现系统原型。
FlexViewer采用了IoC(控制反转)、消息总线(ViewerContainer)、以及面向接口编程(IBaseWidget、IWidgetTemplate)的思想,使得整个系统灵活、易于维护。各个功能模块之间通过事件(AppEvent)进行通信,大大减少了模块之间的耦合度。具体的功能模块基于Flex Module实现,使得具体的功能模块与框架主体分离开来,在减少框架主体体积的同时,也使得通过配置文件配置系统功能成为可能。
了解了FlexViewer的架构思想,那么在遵循开闭原则的前提下,扩展FlexViewer使其符合特定系统的具体需求,也就不是难事了。本例为FlexViewer实现了一个类Windows风格的Widget管理模块,效果如图所示。为了实现这一功能,对FlexViewer进行了一点扩展,在IBaseWidget和IWidgetTemplate增加了获取状态信息的接口,请 下载源代码 进行具体查看。
在线体验地址: http://tm.arcgisonline.cn/show.php?contentid=122
FlexViewer采用了IoC(控制反转)、消息总线(ViewerContainer)、以及面向接口编程(IBaseWidget、IWidgetTemplate)的思想,使得整个系统灵活、易于维护。各个功能模块之间通过事件(AppEvent)进行通信,大大减少了模块之间的耦合度。具体的功能模块基于Flex Module实现,使得具体的功能模块与框架主体分离开来,在减少框架主体体积的同时,也使得通过配置文件配置系统功能成为可能。
了解了FlexViewer的架构思想,那么在遵循开闭原则的前提下,扩展FlexViewer使其符合特定系统的具体需求,也就不是难事了。本例为FlexViewer实现了一个类Windows风格的Widget管理模块,效果如图所示。为了实现这一功能,对FlexViewer进行了一点扩展,在IBaseWidget和IWidgetTemplate增加了获取状态信息的接口,请 下载源代码 进行具体查看。
在线体验地址: http://tm.arcgisonline.cn/show.php?contentid=122