Cairngorm HelloWorld

虽然用Cairngorm做过项目,不过理性认识还是不够,Baidu了一下,结合一个入门实例谈谈我的理解。

Cairngorm是Abode推出的Flex RIAs框架,其实是MVC的发扬光大,它由七大部分组成。

  1. Model(数据模型M):使用singleton(单例)模式共享变量;
  2. VO( Value Object):储存特定值对象变量。
  3. VIew(视图V):将Model的数据绑定互组件并广播侦听Cairngorm Event;
  4. Controller(控制器):侦听Cairngorm事件并将其映射到Cairngorm Command;
  5. Command(命令):调用Cairngorm Delegate或其它Command,并更新Model;
  6. Delegate(委托):实例化RPC(远程过程调用)并将其结果返回给Command;
  7. Business(业务):定义RPC。

下面是Cairngorm RIAs的工作流程:http://flexheads.com/cairngorm/cairngorm2_rpc.swf

Cairngorm代码也可以用工具生成的:

CairngormCreator:http://www.tylerbeck.com/CairngormCreator/main.swf

Cairngen:http://www.ericfeminella.com/blog/cairngen

Cairngorm文档:

http://www.cairngormdocs.org/

Cairngorm视频教学:

http://www.davidtucker.net/2008/04/01/cairngorm-videos-available-as-flv-downloads/

为了便于入门理解,我上传了一个Cairngorm+FluorineFx的入门应用,其中HelloModelLocator.as实现 了单例实例,并共享变量returnMessageHelloView.mxml构成应用的UI,用一个Label组件绑 定了returnMessage,并广播HelloEvent事件。HelloEvent.as扩展了Event类,并新增message事件对象。HelloController.as侦听HelloEvent事 件,并将其映射到HelloCommand类。HelloCommand.as调用HelloDelegate类的echo方法,并将其结果更新到Model。HelloDelegate.as调用service的对应方法,由构造参数中传递进来的mx.mpc.IResponder接口的实现类来处理响应。最后在Services.mxml中定义RemoteObject。

创建Cairngorm RIAs应该注意:

  1. 编译前要加入Cairngorm.swc和fds.swc库路径或其资源路径;
  2. 一般来说,一个业务类需要一个对应的代理类,简单业务可以省去代理类;
  3. Flash Remoting一般支持类的映射,建议使用Value Object,便于扩展调试。

这个实例很简单,感兴趣的话可下载工程文件参考。

HelloWorld.cs还是用以前的,见http://www.riafan.com/article/backend/fluorine-remoting-base.html

上一篇上一篇: 用AS3代码生成EA类图
下一篇下一篇: 用EA类图生成AS3代码
来自文章来自: 本站原创
引用引用通告: 查看所有引用 | 我要引用此文章
标签Tags: Architecture
相关相关日志:
评论: 4 | 引用: 0 | 查看次数: -
引用yokey[2010-09-27 07:13 PM | 无网站 | 无Mail | 116.228.146.198 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用smallnew[2008-09-24 04:56 PM | 无网站 | 无Mail | 58.251.16.108 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用SSSSSSS[2008-03-22 04:09 PM | 无网站 | 无Mail | 222.184.16.186 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
引用arrowyoung[2008-01-30 05:21 PM | 无网站 | 无Mail | 59.173.192.115 | 删除 | 取消审核 | 回复回复]
[正在加载评论信息,请稍候...]
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭