Cairngorm开发框架

Cairngorm是指导Flex开发以MVC(Model-View-Control)模式进行的架构框架,它的重点在于给你一个指导性原则,而并非具体实现,它要实现的目的就是提高项目的可维护性和灵活性,和重用(注意是功能上的重用,而非代码级的重用)。

它是一个由多个设计模式组合而成的集合体。

使用它的重点在于遵循它的设计思想,而非使用它的代码。

它解决的问题包括:使用Model保持客户端状态,使用ValueObject方式达到传送数据的目的。

Cairngorm推荐的最佳实践:

  1. 将数据模型几种到一个全局的ModelLocator中。ModelLocator应为单例模式避免变量冲突。
  2. 在控件中使用数据绑定
  3. 合理组织视图,将组件封闭(避免直接对外引用),通过声明组件所需的共有变量(需要能够绑定)从外部接收数据,声明自定义事件来播发组件的业务逻辑。
  4. 功能点驱动的开发,以业务逻辑为驱动(用户引发的操作,系统引发的操作,都通过Event派发,然后交给命令执行)。

 

Cairngorm 示意图

  1. Model Locator(模型定位器):存储你的应用中所有的Value Objects(数据)和共享变量在一个位置。和Http的Session对象类似,只是它存储在Flex接口的客户端而不是在中间件应用服务器的服务器端。
  2. View(界面):通过一个或者多个Flex组件(按钮、面板、组合框、Tile等等)组合在一起的一个个命名单元,绑定数据在Model Locator(模型定位器)中,并且产生基于用户操作(点击、滚动、拖拽等)的自定义的Cairngorm事件。
  3. Front Controller(前端控制器):接收Cairngorm事件并映射他们到Cairngorm命令控制器上。
  4. Command(命令控制器):处理商业逻辑,调用Caringorm代理和(或)其它命令。
  5. Delegate(代理):由命令创建,实例化远程过程调用(HTTP、Web Service等等)并且处理命令的返回结果数据。
  6. Service(服务):定义连接远程数据存储的远程过程调用(HTTP、Web Service等等)。



有关Cairngorm的资料:

 

http://cairngormdocs.org/

http://labs.adobe.com/wiki/index.php/Cairngorm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值