首先在项目中加入Cairngorm.swc文件
一、建立一个valueObject类
package com.dream.valueObjects
{
public class User
{
public var username:String;
public var password:String;
public var return_Check_Login:String;
public function User()
{
this.username = "";
this.password = "";
this.return_Check_Login = "";
}
}
}
二、ModelLocator 数据托管
package com.dream.model
{
import com.dream.valueObjects.User;
[Bindable]
public class ModelLocator
{
public var user:User = new User();
private static var __instance:ModelLocator = null;
public static function instance():ModelLocator{
if(null == __instance){
__instance = new ModelLocator();
}
return __instance;
}
}
}
三、创建Event事件
package com.dream.business.events.login
{
import com.adobe.cairngorm.control.CairngormEvent;
import com.dream.valueObjects.User;
public class CheckLoginUserEvent extends CairngormEvent
{
public static var EVENT_ID:String = "checkLoginUser";
public var user:User;
public function CheckLoginUserEvent(user:User)
{
super(EVENT_ID);
this.user = user;
}
}
}
四、信息接收
package com.dream.business.delegates
{
import com.adobe.cairngorm.business.ServiceLocator;
import com.dream.model.ModelLocator;
import com.dream.valueObjects.User;
import mx.rpc.AsyncToken;
import mx.rpc.IResponder;
import mx.rpc.remoting.RemoteObject;
public class CheckLoginUserDelegate
{
private var __locator:ServiceLocator = ServiceLocator.getInstance();
private var __remote:RemoteObject;
private var __responder:IResponder;
public function CheckLoginUserDelegate(responder:IResponder)
{
__remote = __locator.getRemoteObject("checkLogin");
__responder = responder;
}
public function returnCheckLoginUser(user:User):void{
var token:AsyncToken = __remote.checkUser(user.username,user.password);
token.addResponder(__responder);
}
}
}
五、信息处理
package com.dream.business.commands
{
import com.adobe.cairngorm.commands.ICommand;
import com.adobe.cairngorm.control.CairngormEvent;
import com.dream.business.delegates.CheckLoginUserDelegate;
import com.dream.business.events.login.CheckLoginUserEvent;
import com.dream.model.ModelLocator;
import com.dream.valueObjects.User;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import mx.controls.Alert;
import mx.rpc.IResponder;
import mx.rpc.events.ResultEvent;
public class CheckLoginUserCommand implements ICommand,IResponder
{
public function execute(event:CairngormEvent):void{
var checkLoginUserEvent:CheckLoginUserEvent = event as CheckLoginUserEvent;
var checkLoginUserDelegate:CheckLoginUserDelegate = new CheckLoginUserDelegate(this);
checkLoginUserDelegate.returnCheckLoginUser(checkLoginUserEvent.user);
}
public function result(data:Object):void{
var resultEvent:ResultEvent = data as ResultEvent;
var user:User = new User();
user.return_Check_Login = resultEvent.result as String;
ModelLocator.instance().user = user;
if(user.return_Check_Login == "success"){
navigateToURL(new URLRequest("../dream/main.action"),"_self");
}else{
Alert.show(user.return_Check_Login);
}
}
public function fault(info:Object):void{
var resultEvent:ResultEvent = info as ResultEvent;
Alert.show("fault");
}
}
}
六、Event与Command关联
package com.dream.business
{
import com.adobe.cairngorm.control.FrontController;
import com.dream.business.commands.CheckLoginUserCommand;
import com.dream.business.events.login.CheckLoginUserEvent;
public class FSController extends FrontController
{
public function FSController(){
this.loadController();
}
private function loadController():void{
this.addCommand(CheckLoginUserEvent.EVENT_ID,CheckLoginUserCommand);
}
}
}
七、配置service
<?xml version="1.0" encoding="utf-8"?>
<rds:ServiceLocator xmlns:rds="com.adobe.cairngorm.business.*"
xmlns:mx="http://www.adobe.com/2006/mxml">
<!--
<mx:AMFChannel id="myamf" uri="/dream/flex/messagebroker/amf"/>
<mx:ChannelSet id="channelSet" channels="{[myamf]}" />
<mx:RemoteObject id="checkLogin" destination="loginService" channelSet="{channelSet}" showBusyCursor="true"/>
-->
<mx:RemoteObject id="checkLogin" destination="loginService" showBusyCursor="true"/>
</rds:ServiceLocator>
八、在application中注册
<rds:Services xmlns:rds="com.dream.business.*"/>
<router:FSController xmlns:router="com.dream.business.*"/>
分享到:
相关推荐
这表明该压缩包包含了一个完整的、配置好的Cairngorm框架应用,开发者无需额外配置或修改就能启动和测试。这对于初学者来说非常有价值,因为它提供了一个实际操作的学习平台,让他们能够快速理解Cairngorm框架的工作...
为了开发基于Cairngorm框架的应用,我们需要准备以下开发工具: - **JDK及JRE**:提供基本的Java运行环境,版本建议使用1.6及以上。 - **MyEclipse**:一个强大的集成开发环境(IDE),版本建议使用6.0及以上。 - **...
Adobe Cairngorm框架为Flex和ActionScript开发提供了强大且灵活的MVC实现,通过ServiceLocator、EventBroker、Command等组件,帮助开发者构建可维护、可扩展的应用程序。了解并熟练运用Cairngorm框架,可以显著提升...
在Cairngorm框架中,主要包含以下几个核心组件: 1. **Controller**:控制器是Cairngorm的核心,它负责监听事件并调度模型和视图。控制器通常是一个全局的Singleton类,比如`ApplicationController`,它接收来自...
Cairngorm框架是Adobe Flex开发中的一个著名MVC(模型-视图-控制器)设计模式实现,它为构建可扩展、模块化和易于维护的Flex应用提供了强大的基础。这个框架由Rorke McCreary在2005年创建,自那时起,它已经成为了...
Flex Cairngorm框架生成器是一款专门针对Adobe Flex开发的工具,旨在简化Cairngorm框架的应用构建过程。Cairngorm是ActionScript和Flex社区中广泛使用的轻量级MVC(Model-View-Controller)框架,它帮助开发者组织和...
- **library.swf**:这可能是一个包含Cairngorm框架或应用模块的SWF库文件。它可能包含了预编译的代码、资源和组件,方便在多个项目中复用。 - **catalog.xml**:通常在Flex项目中,此文件可能是库目录,列出库中的...
Flex Cairngorm框架是Adobe Flex应用程序开发中的一个流行的设计模式,它基于Model-View-Controller(MVC)架构,旨在提高代码的可维护性和可扩展性。Cairngorm框架由SitePen公司开发,最初是为了满足大型企业级Flex...
而Cairngorm框架,则是针对Flex的一种轻量级、可扩展的MVC(模型-视图-控制器)设计模式实现,它极大地简化了Flex应用程序的架构和管理,特别是对于大型复杂项目的开发。 Cairngorm框架的核心理念是分离关注点,将...
Flex Cairngorm框架是一个强大的轻量级MVC(模型-视图-控制器)架构,用于构建富互联网应用程序(RIA)。这个框架是Adobe Flex开发者社区中的一个流行选择,它旨在提高代码组织、可维护性和可扩展性。让我们深入探讨...
**cairngorm框架module学习三** Cairngorm是一个轻量级的ActionScript框架,主要应用于Flex和Adobe AIR开发,旨在提供一个可扩展和可维护的架构,以支持大型和复杂的RIA(富互联网应用)项目。这个框架是基于MVC...
在开发 Flex 应用程序时,Spring Actionscript IOC 框架和 Cairngorm MVC 模式结合使用,可以显著提升代码的可维护性和可扩展性。Spring Actionscript 是一个针对 Actionscript3 设计的轻量级框架,其灵感来源于 ...
Cairngorm框架是一款专为Adobe Flex和ActionScript开发的轻量级架构框架,它旨在解决RIA(Rich Internet Applications)应用程序中常见的一些问题。对于初学者而言,Cairngorm框架提供了一套易于理解和使用的模式...
2. **Cairngorm框架应用**:学习Cairngorm的核心概念,如Command、ServiceLocator、EventDispatcher等,以及如何使用它们来组织代码结构,实现事件驱动的编程。 3. **FluorineFX配置**:在.NET项目中集成FluorineFX...
**cairngorm框架module学习二** ...总之,Cairngorm框架的模块化设计是解决大型Flex应用复杂性的有效手段。通过理解并掌握模块化的概念和实现方式,开发者可以更好地组织代码,提高代码质量和可维护性。
Flex的Cairngorm框架是Adobe Flex开发中的一个轻量级MVC(Model-View-Controller)框架,它为创建可扩展、可维护的富互联网应用程序(RIA)提供了结构和指导。Cairngorm框架主要由Martin Fowler在2005年提出,灵感...
标题中的“Flex网上nokia手机专卖店 源码(运用Cairngorm框架)”指的是一个基于Adobe Flex技术开发的在线商店应用,专门售卖Nokia品牌的手机。这个应用使用了Cairngorm框架来实现Model-View-Controller(MVC)设计...
Flex Cairngorm框架是Adobe Flex开发中的一个轻量级、基于MVC(Model-View-Controller)设计模式的架构框架,旨在帮助开发者更好地组织和管理复杂的Flex应用。这个框架最初由Adobe公司内部开发,后来成为了开源项目...