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,内部MVC结构,Cairngorm的各个部分
Cairngorm 开发文档中文版API
Cairngorm 开发文档中文版.pdf
Cairngorm例子Cairngorm例子Cairngorm例子Cairngorm例子
Flex开发框架cairngorm入门实例教程,有需要的人可以看一下
前端采用cairngorm框架,后台 采用hibernate+spring 每个部署 步骤,附详细 图文解释。旨在 采用 一种快速开发 项目架构。 该包中 ,含 详细 文档,开发图文步骤,数据库 ,和代码。lib 下 已经包含所有项目所需...
flex MVC框架搭建步骤 Cairngorm
Cairngorm is the lightweight micro-architecture for Rich Internet Applications built in Flex or AIR. A collaboration of recognized design patterns, Cairngorm exemplifies and encourages best-practices ...
Cairngorm 开发文档Cairngorm 开发文档中文版.pdf cairngorm案例.doc cairngorm和BlazeDS.pdf
Flex框架Cairngorm经典案例源码 完全掌握Cairngorm
cairngorm.swc供需要的朋友急用
cairngorm框架是flex界的mvc框架,传统的flex开发方法开发的代码难以维护。 这个是cairngorm的中文版入门讲解
Cairngorm.swc Cairngorm+开发文档中文版.rar 套装 请一定下载给好评!@! 收藏版,非常经典! 里面内容很详细!新手很容易上手!一看就能懂的文档!
Cairngorm开发例子 利于初学者学习
flex框架之Cairngorm框架,一个用Cairngorm与后台通信实例
Cairngorm框架配置是flex的前端一个框架
cairngorm与lcds结合应用的最小工程包,适合研究cairngorm 与lcds的用户