Yeah.
As the best practice says: the command and event should be One-To-One in cairngorm . If doing so, we would have lots of command and event files.
So here is my way in solving the problem, see codes below.
PhotoEvent.as has two event types.
import com.adobe.cairngorm.control.CairngormEvent;
import com.babytree.photoUpload.control.MainController;
public class PhotoEvent extends CairngormEvent
{
public function PhotoEvent (type:String)
{
super(type);
}
//get all albums of a user
public static const GET_ALBUMSLIST:String = "get_albumslist";
//get all photos of an album
public static const GET_ALBUMPHOTOS:String = "get_albumphotos";
}
PhotoCommand.as deal with PhotoEvent; PhotoServiceDelegate.as contains HTTPService Call.
public class PhotoCommand implements ICommand,IResponder
{
private var model : ModelLocator = ModelLocator.getInstance();
private var photoServiceDelegate:PhotoServiceDelegate;
private var photoEvent:PhotoEvent;
// functions ============================
public function execute( event:CairngormEvent ) : void
{
photoEvent = event as PhotoEvent;
photoServiceDelegate = new PhotoServiceDelegat(this as IResponder);
switch(photoEvent.type){
case PhotoEvent.GET_ALBUMSLIST:
photoServiceDelegate.getUserAlbums(model.userVO);
break;
case PhotoEvent.GET_ALBUMPHOTOS:
photoServiceDelegate.getAlbumPhotos(model.userVO);
break;
}
}
public function result( data:Object ) : void
{
switch(photoEvent.type){
case PhotoEvent.GET_ALBUMSLIST:
//do something
break;
case PhotoEvent.GET_ALBUMPHOTOS:
//do something
break;
}
}
public function fault( info : Object ) : void
{
trace("fault in PhotoCommand.as ==== Event.type is ===" + photoEvent.type);
}
}
My Question is : the way I hold
PhotoEvent and reuse it in result function is right ?
is there any advice ?
分享到:
相关推荐
Cairngorm is the ...Cairngorm is now evolving towards a project that will invite community leaders and enterprise adopters to partner with Adobe Consulting in the ongoing development of Cairngorm.
Cairngorm是一种轻量级的ActionScript框架,主要用于构建Flex和Adobe AIR应用程序。这个框架是基于模型-视图-控制器(MVC)设计模式,旨在提高应用的可维护性和可扩展性。Cairngorm由Adobe开源社区推出,旨在为开发...
Cairngorm是一个轻量级的MVC(Model-View-Controller)框架,主要用于构建Adobe Flex和ActionScript 3.0应用程序。这个框架是开源的,由Adobe社区维护,旨在帮助开发者实现更有序、可扩展和可维护的代码结构。 在...
**Cairngorm框架详解** Cairngorm框架是Adobe Flex开发中的一个核心MVC(Model-View-Controller)框架,它为构建可扩展、可维护的富互联网应用程序(RIA)提供了一种结构化的方法。Flex是一种基于ActionScript 3.0...
3. **控制器(Controller)**:cairngorm的核心部分,包括EventBroker、Commands和Services。EventBroker负责事件的发布和订阅,Commands处理业务逻辑,Services处理与LCDS的通信。 4. **服务(Service)**:这部分可能...
cairngorm.swc供需要的朋友急用
2. **Commands**:命令是处理特定业务逻辑的类,它们被控制器调用。每个命令类负责一项特定任务,例如处理用户操作或与服务端通信。 3. **ModelLocator**:模型定位器是一个全局的Singleton,用于存储和管理模型...
### Cairngorm框架配置详解 #### 一、Cairngorm框架概述 Cairngorm是一种专门为Adobe Flex设计的模型-视图-控制器(Model-View-Controller, MVC)架构模式框架。它通过清晰地分离应用逻辑,使得开发更加模块化、可...
Cairngorm是Flex社区中流行的一种轻量级MVC(Model-View-Controller)框架,它提供了一种结构化的方法来组织和管理Flex项目的代码,从而提高开发效率和代码可维护性。 Cairngorm框架的核心组件包括: 1. **模型...
Cairngorm是一个轻量级的MVC框架,专门用于Adobe Flex应用程序的开发。这个框架的设计目的是为了提高Flex项目的可维护性和可扩展性,通过分离业务逻辑、视图和控制层,使得代码更加模块化。在Cairngorm中,模型...
在Cairngorm中,控制器主要由Commands实现。Commands是可复用的、单一职责的类,它们响应特定的事件,执行相应的操作,如调用模型服务、处理数据和更新视图。 4. **服务(Service)**:Cairngorm框架鼓励使用解耦的...
它可能会展示如何将Cairngorm的基本组件,如Commands、Services、ModelLocator和EventDispatcher等,集成到一个实际的应用场景中。 让我们深入探讨一下Cairngorm框架的关键组成部分: 1. **Model**: Model层负责...
Cairngorm是一个基于MVC(Model-View-Controller)模式的框架,它主要用于开发基于Adobe Flex的应用程序。这个框架能够帮助开发者组织代码、分层,使得代码结构更加清晰易懂,从而提高开发效率。Cairngorm框架的应用...
### Cairngorm框架入门知识点详解 #### 一、Cairngorm框架简介 - **定义与背景**:Cairngorm是一种专为Adobe Flex应用程序设计的模型-视图-控制器(MVC)架构模式。它是由Adobe Systems Inc.在2004年推出的一种...
一个 Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) 本实例为一个 flex 与 java通信项目。前端采用cairngorm框架,后台 采用hibernate+spring 每个部署 步骤,附详细 图文解释。旨在 采用 一种快速开发 ...
6. **Commands**:命令模式是Cairngorm的重要特性,每个命令对应一个特定的操作,负责执行业务逻辑。 在这个3D模型浏览器中,PV3D(Papervision3D)被集成进来,它是一个开源的3D图形库,能够让Flex应用程序实现...
**cairngorm3实践源码详解** Cairngorm是Adobe Flex/AIR社区中一个著名的轻量级MVC框架,它为ActionScript 3.0应用程序提供了结构和设计模式,便于开发大型、可维护的项目。这个压缩包包含的是Cairngorm3的实践源码...
Cairngorm框架是Adobe Flex开发中的一种著名轻量级MVC(Model-View-Controller)框架,由Adobe公司的专业团队设计,旨在提高Flex应用程序的可维护性和可扩展性。这个框架的核心理念是通过分离业务逻辑、用户界面和...
Cairngorm是Adobe Flex社区中的一个开源框架,主要用于构建大型、可扩展的富互联网应用程序(RIA)。这个框架是基于MVC(Model-View-Controller)设计模式的,旨在提高Flex应用的可维护性和可扩展性。Cairngorm 2.1...