1、编写控制器
package com.forbeauty.store.control
{
import com.adobe.cairngorm.control.FrontController;
/**
* @version $Revision: $
*/
public class ShopController extends FrontController
{
public function ShopController()
{
initialiseCommands();
}
public function initialiseCommands() : void
{
}
}
}
2、编写ModelLocator
package com.forbeauty.store.model
{
import com.adobe.cairngorm.model.ModelLocator;
[Bindable]
public class MenuModelLocator implements ModelLocator
{
private static var menumodelLocator : MenuModelLocator;
public static function getInstance() : MenuModelLocator
{
if ( menumodelLocator == null )
{
menumodelLocator = new MenuModelLocator();
}
return menumodelLocator;
}
public function MenuModelLocator()
{
if ( menumodelLocator != null )
{
throw new Error( "Only one ShopModelLocator instance should be instantiated" );
}
}
public var xmlData:String;
}
}
其中包括需要处理或使用的数据,并使用单例模式
3、编写Service.mxml
<?xml version="1.0" encoding="utf-8"?>
<cairngorm:ServiceLocator
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:cairngorm="http://www.adobe.com/2006/cairngorm">
<!--
<mx:RemoteObject id="productService" destination="productServiceImpl"
showBusyCursor="true">
</mx:RemoteObject>
<mx:RemoteObject id="creditCardService" destination="creditCardServiceImpl"
showBusyCursor="true">
</mx:RemoteObject>
-->
<mx:HTTPService id="menuDelegate"
resultFormat="e4x"
showBusyCursor="true"
url="../datas/menus.xml">
</mx:HTTPService>
</cairngorm:ServiceLocator>
4、编写Command
package com.forbeauty.store.command
{
import mx.rpc.IResponder;
import com.adobe.cairngorm.commands.ICommand;
import com.adobe.cairngorm.control.CairngormEvent;
import com.forbeauty.store.model.MenuModelLocator;
import com.forbeauty.store.business.MenuDelegate;
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
import mx.controls.Alert;
import mx.collections.ICollectionView;
import mx.collections.Sort;
import mx.collections.SortField;
import mx.utils.ArrayUtil;
import flash.events.Event;
public class MenuDataCommand implements ICommand, IResponder
{
public function MenuDataCommand()
{
}
public function execute( event : CairngormEvent ): void
{
if( MenuModelLocator.getInstance().xmlData == null )
{
var delegate : MenuDelegate = new MenuDelegate( this );
delegate.getMenus();
}
else
{
Alert.show( "Products already retrieved!" );
return;
}
}
public function result( event : Object ) : void
{
Alert.show((event as ResultEvent).result.toString());
}
public function fault( event : Object ) : void
{
var faultEvent : FaultEvent = FaultEvent( event );
Alert.show( faultEvent.toString() );
Alert.show( "Can not get menus" );
}
}
}
5、编写Event
package com.forbeauty.store.event
{
import flash.events.Event;
import com.adobe.cairngorm.control.CairngormEvent;
public class GetMenuEvent extends CairngormEvent
{
public static var EVENT_GET_MENUS : String = "getMenus";
/**
* Constructor.
*/
public function GetMenuEvent()
{
super( EVENT_GET_MENUS );
}
/**
* Override the inherited clone() method, but don't return any state.
*/
override public function clone() : Event
{
return new GetMenuEvent();
}
}
}
6、在View中发送事件
var event:CairngormEvent=new CairngormEvent(GetMenuEvent.EVENT_GET_MENUS);
CairngormEventDispatcher.getInstance().dispatchEvent(event);
分享到:
相关推荐
前端采用cairngorm框架,后台 采用hibernate+spring 每个部署 步骤,附详细 图文解释。旨在 采用 一种快速开发 项目架构。 该包中 ,含 详细 文档,开发图文步骤,数据库 ,和代码。lib 下 已经包含所有项目所需...
开发环境的搭建涉及以下步骤: 1. 安装 JDK。 2. 安装 Eclipse IDE。 3. 安装 Flex Builder 插件。 4. 安装服务器(例如 Tomcat)。 入门示例通常会展示如何创建一个新的 Flex 项目,引入 Cairngorm 库,设置视图...
Cairngorm是Flex社区广泛采用的一个轻量级MVC框架,它简化了大型Flex项目的架构设计。在提供的压缩包中,有两个Cairngorm相关的库文件——Cairngorm.swc和CairngormEnterprise.swc,它们分别是Cairngorm框架的核心库...
- **前台设计**:使用Flex开发完成,采用Cairngorm框架以提高开发效率和代码的可维护性。 - **后台管理**:负责处理用户请求和数据库操作,采用PHP或Java等语言开发。 ##### 3. 技术选型 - **Flex**:作为主要的...
#### 一、AIR工程实例搭建步骤详解 **1. 开发环境** ##### 1.1 客户端 客户端使用Adobe AIR (Adobe Integrated Runtime) 和 Flex 技术栈进行开发。Flex 是一款强大的用于构建和部署富互联网应用程序(RIA) 的框架,...
【Flex环境搭建技术指导】 Flex,全称Adobe Flex,是一种...通过使用Cairngorm这样的框架,开发者可以更高效地组织代码,提高开发和协作的效率。对Flex初学者来说,了解这些基础知识和整合技术是非常重要的学习步骤。
【描述】: "这份文档详细介绍了使用FLEX和Java进行开发的相关配置和步骤,非常适合初学者作为入门资料。" 【标签】: "FLEX,Java" 【内容】: 本文档主要探讨了Flex与Java的集成开发,特别是使用Flex、BlazeDS和...
CAT77—WEBIM企业沟通系统采用了一套复杂且高效的架构,包括CatWindows+Cairngorm+SSH+JPA+Socket等技术。其中: - **CatWindows**:作为系统的前端界面,提供了用户友好的操作界面。 - **Cairngorm**:是一种Flex...
### 实现View (MXML) 和代码分离的好方法 在Flex3开发过程中,随着...总之,对于Flex3开发人员而言,采用Code Behind模式是一种非常实用且高效的方法来实现MXML与代码的分离,有助于提高开发效率,降低后期维护成本。