Cairngorm框架 构成及流程

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框架流程:

1.首先view模块负责显示数据和派遣事件的,通过CairngormEventDispatcher获得一个实例,然后通过dispatchEvent方法派遣一个事件到Control模块

2.Control模块通过FronController捕获这个事件,然后通过addCommand找到相应的Command

3.Command模块继承了ICommand,通过execute方法接收这个事件,如果需要与后台打交道,如:查询数据、修改数据,则执行Delegate

4.Delegate有result方法和fault方法,如果数据提交成功,后台会把数据data存入result,返回给Command

5.Command接收到数据后,会更新ModelLocator里的数据

6.一旦ModelLocator里的数据被更新,view模块的数据也会被更新,因为view模块绑定了ModelLocator,也就是说view模块里的数据是ModelLocator提供的

派遣事件--捕获事件--接收事件

原文地址:https://www.cnblogs.com/lvfeilong/p/fg.html