这两天同事们都回家过年去了,剩我独自一人在办公室值班,虽然冷清,但却是难得的静谧,特别适合做东西,这不,昨天花了点时间把Flex1.5框架cairngorm给移植到了Flex2.0。在官方未发布基于Flex2.0的cairngorm,希望这个2.0的版本能给想在Flex2.0中使用cairngorm框架的朋友一些帮助…
这两天同事们都回家过年去了,剩我独自一人在办公室值班,虽然冷清,但却是难得的静谧,特别适合做东西,这不,昨天花了点时间把Flex1.5框架cairngorm给移植到了Flex2.0。在官方未发布基于Flex2.0的cairngorm,希望这个2.0的版本能给想在Flex2.0中使用cairngorm框架的朋友一些帮助。
Cairngorm框架是iterationtwo推出的号称基于JEE Best Practice的Flex1.5程序开发的light-weight framework,其M/V/C/Remote之间可以做到完全解构,目前最新版本为0.99。
其主要的几个特性如下:
- 通过ViewLocator/ViewHelper将View(MXML)中夹杂的function与View分离。(这里的MXMLObject接口的实现非常有想像力)
- 通过Command/FrontController将Event与Viwe分离。
- 通过ServiceLocator将Remote Service声明与View分离。
主要的修改清单如下:
- 为避免混淆及使代码更清晰,将org.nevis.cairngorm.control.Event改为了org.nevis.cairngorm.control.CairngormEvent,并继承了flash.events.Event类;
- 为与Flex2.0兼容,修改org.nevis.cairngorm.control.EventBroadcaster继承flash.events.EventDispatcher类;
- 因为Flex2.0不再支持handEvent的事件处理方法,修改org.nevis.cairngorm.control.FrontController中的executeCommand方法将事件监听改为EventBroadcaster.getInstance().addEventListener( commandName, this.handleEvent );
- 由于Flex2.0中MXMLObject接口已更改为IMXMLObject,所以将org.nevis.cairngorm.view.ViewHelper 改为实现IMXMLObject接口;
- 由于Flex2.0中已经移除mx.core.UIObject类,所以修改org.nevis.cairngorm.business.ServiceLocator为扩展UIComponent类;
- 其他的Flex2.0兼容变更。
详细的修改情况,请查看源代码:
- 下载cairngorm for Flex2.0(包含框架核心及login例子代码)
- cairngorm login 示例调用思维导图
- 运行示例Login Application(username:feiy,Password:eshangrao)
更多信息访问Cairngorm for Flex2.0项目主页:Labs.eshangrao.com
另外,顺祝大家新春快乐,旺旺旺…
O comments at "Flex2 发现之旅:cairngorm for Flex2.0"
Comment Now!