`
fokman
  • 浏览: 239030 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Cairngorm学习笔记三(Cairngorm的流程控制)

    博客分类:
  • Flex
阅读更多

1.Cairngorm流程控制

这一节我将向大家介绍Carirngorm的流程图

Cairngorm流程图

3.流程详解

  当用户操作View的时候,也就是我们的flex页面的时候会派发dispatch Event事件,然后Front Controller映射Event事件给Command,Command做相应的业务逻辑并更新Model Locator的数据,由于Model Locator可以共享对象的功能,所以前端View 可以自动更新。

  我们了解了这样的一个基本流程后,相信大家对我们的Cairngorm流程有了更进一步的认识。

 

 Event:操作前端页面产生的事件。

 

 Frontroller:管理Command和Event之间的关系,形成映射。也就是说把操作的Event分配给相应的Command。

 

 Command:具体的业务逻辑处理,处理完的数据更新Model Locator。具体Command部分是如何利用Delegate和   Service进行连接,我们在下一节中讲解。

相信大家对Cairngorm的事件流程有了进一步的认识。

查看代码的结构我们就可以知道

events包下的AddPhotoToCartEvent.as和LoadPhotoEvent.as,继承了CairngormEvent。PhotoEvent.as是用户操作选择图片的时候触发事件。

 

在FSController中注册event和command之间的关系

addCommand(LoadPhotosEvent.EVENT_ID,LoadPhotosCommand);
addCommand(AddPhotoToCartEvent.EVENT_ID,AddPhotoToCartCommand);

 

FStop.mxml中触发用户操作的代码

private function photoSelectedHandler(event:PhotoEvent):void 
			{
				var addEvent:AddPhotoToCartEvent=new AddPhotoToCartEvent(event.selectedPhoto);
				addEvent.dispatch();
			}

			private function initApp():void 
			{
				var event:LoadPhotosEvent=new LoadPhotosEvent();
				event.dispatch();
			}

 通过这样的一个讲解大家是不是对Caringorm的流程更加清晰了呢。

下一节内容我们在继续吧。。。。。。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics