`
nuthell
  • 浏览: 30433 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

cairngorm commands deal with lots of things

阅读更多
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.swc

    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开发文档中文版

    Cairngorm是一种轻量级的ActionScript框架,主要用于构建Flex和Adobe AIR应用程序。这个框架是基于模型-视图-控制器(MVC)设计模式,旨在提高应用的可维护性和可扩展性。Cairngorm由Adobe开源社区推出,旨在为开发...

    Cairngorm例子

    Cairngorm是一个轻量级的MVC(Model-View-Controller)框架,主要用于构建Adobe Flex和ActionScript 3.0应用程序。这个框架是开源的,由Adobe社区维护,旨在帮助开发者实现更有序、可扩展和可维护的代码结构。 在...

    cairngorm中文版

    **Cairngorm框架详解** Cairngorm框架是Adobe Flex开发中的一个核心MVC(Model-View-Controller)框架,它为构建可扩展、可维护的富互联网应用程序(RIA)提供了一种结构化的方法。Flex是一种基于ActionScript 3.0...

    cairngorm + lcds最小包.rar

    3. **控制器(Controller)**:cairngorm的核心部分,包括EventBroker、Commands和Services。EventBroker负责事件的发布和订阅,Commands处理业务逻辑,Services处理与LCDS的通信。 4. **服务(Service)**:这部分可能...

    flex Cairngorm.swc

    cairngorm.swc供需要的朋友急用

    flex框架之Cairngorm框架(二)

    2. **Commands**:命令是处理特定业务逻辑的类,它们被控制器调用。每个命令类负责一项特定任务,例如处理用户操作或与服务端通信。 3. **ModelLocator**:模型定位器是一个全局的Singleton,用于存储和管理模型...

    Cairngorm框架配置

    ### Cairngorm框架配置详解 #### 一、Cairngorm框架概述 Cairngorm是一种专门为Adobe Flex设计的模型-视图-控制器(Model-View-Controller, MVC)架构模式框架。它通过清晰地分离应用逻辑,使得开发更加模块化、可...

    Flex框架Cairngorm经典案例源码

    Cairngorm是Flex社区中流行的一种轻量级MVC(Model-View-Controller)框架,它提供了一种结构化的方法来组织和管理Flex项目的代码,从而提高开发效率和代码可维护性。 Cairngorm框架的核心组件包括: 1. **模型...

    Flex开发框架cairngorm入门实例教程

    Cairngorm是一个轻量级的MVC框架,专门用于Adobe Flex应用程序的开发。这个框架的设计目的是为了提高Flex项目的可维护性和可扩展性,通过分离业务逻辑、视图和控制层,使得代码更加模块化。在Cairngorm中,模型...

    flex Cairngorm框架实例

    在Cairngorm中,控制器主要由Commands实现。Commands是可复用的、单一职责的类,它们响应特定的事件,执行相应的操作,如调用模型服务、处理数据和更新视图。 4. **服务(Service)**:Cairngorm框架鼓励使用解耦的...

    Cairngorm 自己做的例子,简单易学

    它可能会展示如何将Cairngorm的基本组件,如Commands、Services、ModelLocator和EventDispatcher等,集成到一个实际的应用场景中。 让我们深入探讨一下Cairngorm框架的关键组成部分: 1. **Model**: Model层负责...

    Cairngorm入门教程整合spring

    Cairngorm是一个基于MVC(Model-View-Controller)模式的框架,它主要用于开发基于Adobe Flex的应用程序。这个框架能够帮助开发者组织代码、分层,使得代码结构更加清晰易懂,从而提高开发效率。Cairngorm框架的应用...

    [cairngorm入门]introducing_cairngorm.pdf

    ### Cairngorm框架入门知识点详解 #### 一、Cairngorm框架简介 - **定义与背景**:Cairngorm是一种专为Adobe Flex应用程序设计的模型-视图-控制器(MVC)架构模式。它是由Adobe Systems Inc.在2004年推出的一种...

    Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring)完整版本

    一个 Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) 本实例为一个 flex 与 java通信项目。前端采用cairngorm框架,后台 采用hibernate+spring 每个部署 步骤,附详细 图文解释。旨在 采用 一种快速开发 ...

    Cairngorm应用

    6. **Commands**:命令模式是Cairngorm的重要特性,每个命令对应一个特定的操作,负责执行业务逻辑。 在这个3D模型浏览器中,PV3D(Papervision3D)被集成进来,它是一个开源的3D图形库,能够让Flex应用程序实现...

    cairngorm3实践源码

    **cairngorm3实践源码详解** Cairngorm是Adobe Flex/AIR社区中一个著名的轻量级MVC框架,它为ActionScript 3.0应用程序提供了结构和设计模式,便于开发大型、可维护的项目。这个压缩包包含的是Cairngorm3的实践源码...

    Cairngorm-Flex.zip_Cairngorm_flex

    Cairngorm框架是Adobe Flex开发中的一种著名轻量级MVC(Model-View-Controller)框架,由Adobe公司的专业团队设计,旨在提高Flex应用程序的可维护性和可扩展性。这个框架的核心理念是通过分离业务逻辑、用户界面和...

    Cairngorm文档

    ### Cairngorm框架详解 #### 一、Cairngorm框架概述 Cairngorm作为Flex的一个重要框架,被广泛应用于构建丰富的互联网应用程序(RIA)。该框架由Adobe开发团队设计,旨在帮助开发者更高效地进行RIA应用开发,特别是...

    Cairngorm2.rar

    Cairngorm是Adobe Flex社区中的一个开源框架,主要用于构建大型、可扩展的富互联网应用程序(RIA)。这个框架是基于MVC(Model-View-Controller)设计模式的,旨在提高Flex应用的可维护性和可扩展性。Cairngorm 2.1...

Global site tag (gtag.js) - Google Analytics