Flex学习笔记
什么是Cairngorm?
Cairngorm(中文名:“烟水晶”?)是一个轻量级的Flex RIA程序开发框架,从而使程序可扩展性、可维护性都大大提高,其本身并不是一个完整的企业应用,它只是提供了一个开发骨架,Adobe称之为体系。
Cairngorm体系
主要包括以下几个部分:
1、VO(Value Object)
IValueObject 和 ValueObject 只是为了提高VO类的可读性,表示该类是一个ValueObject类,其它没有任何实际作用。其可能是为将来而设计的,我们在应用过程中不需要实现任何接口函数。
2、Model
定义了ModelLocator接口,我们只需要实现该接口,把所需要绑定的数据保存在这里。通常我们都采用单例模式(Singleton Pattern)来实现,并按照项目模块进行分类,避免把整个项目的所有数据都保存在一个类文件中。换句话说,ModelLocator是整个系统的数据中心。
3、View
有ViewHelper.as 和 ViewLocator.as,在Cairngorm2.2.1版本中已被废除。
4、Commands
定义了ICommand接口,该接口定义了一个唯一需要实现的方法execute(),这其实就是典型的命令模式,我们只要实现此接口,并不需要关心其具体实现方式。
5、Control
含三个基类:CairngormEvent、CairngormEventDispatcher和FrontController。
(1)CairngormEvent:
继承flash.events.Event,其包含一个data成员,用来传递参数数据之用。
(2)CairngormEventDispatcher:
采用单例模式(Singleton Pattern),用来广播用户发起的自定义动作事件。
(3)FrontController:
相当于控制中心,在这里你要做的工作是将事件(CairngormEvent)和命令(Command)之间的映射关系注册在它的
成员commands(Dictionary类型)中,通过下面的类似方法进行注册:
addCommand( GetProductsEvent.EVENT_GET_PRODUCTS, GetProductsCommand );
以后,凡是CairngormEventDispatcher广播出来的事件,首先都会在这里查找,找到对应的event对应的command后,
便执行Command的execute()方法。
FrontController必须要在你的系统中实例化,具体的实例化方法如下:
1 <mx:Application xmlns:control="com.domain.projectname.control.ShopController">
2 ...
3 <control:ShopController id="controller" />
4 ...
5 </mx:Application>
6、Business
IServiceLocator接口:
提供了HTTPService、WebSercice、RemoteObject三种RPC服务。使用时候,将需要的RPC服务登记在该接口中,
以
相关文档:
返回数据的格式resultFormat有几种类型,object、array、xml、flashvars、text和e4x,默认的设置为object。
RESULT_FORMAT_ARRAY : String = "array"
[] 结果格式“array”与“object”相似,但是其返回的值始终为数组;这样,如果从结果格式“object”返回的结果尚不是数组,则将把该项 ......
一、国外站点
1.资源 类
Adobe Flex 2 Component Explorer : 官方的,展示了各种组件 的用法 ,入门 必看。
CFlex :很好的一个Flex资源站点,包括教程 ,新闻,资源站点…… 只是页面有点杂乱,大家一般看右边那一栏就行了。
FlexBox :一个收集 了网上很多开源 组件的站点,是进阶学习 的好帮手。 ......
本篇文章是《Flash Builder 4 beta (Gumbo) UI、功能的新体验》第三篇文章,着重介绍的Flex SDK 4(Gumbo)新增加的命名空间(NameSpace)。
众所周知,Flex SDK 4(Gumbo)增加了一些命名空间,请看如下:
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/halo"
xmlns:s="library://ns.a ......
现在有一个工程是java web project,还有一个工程是flex工程,安装的是flex builder 4正式版。发现在修改flex工程属性的构建路径时,修改结果不能保存。 解决办法: 在.actionScriptProperties文件中,找到路径直接修改。 ......
TabNavigator默认是只初始化第一个TAB的,设一下属性,设了后会初始化其他TAB,creationPolicy="all"
补充下tab里面的容器是Canvas
动态生成TabNavigator tab页面
var canvas: Canvas = new Canvas();
canvas.label = "new Tab";
tabNavigator.addChild(canvas);
-------------------------------------------------- ......