`
lzstone
  • 浏览: 94077 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Cairngorm框架应用

    博客分类:
  • flex
阅读更多

首先在项目中加入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.*"/>

 

 

 

分享到:
评论

相关推荐

    flex cairngorm框架实例 真正可运行直接导入

    这表明该压缩包包含了一个完整的、配置好的Cairngorm框架应用,开发者无需额外配置或修改就能启动和测试。这对于初学者来说非常有价值,因为它提供了一个实际操作的学习平台,让他们能够快速理解Cairngorm框架的工作...

    Cairngorm框架配置

    为了开发基于Cairngorm框架的应用,我们需要准备以下开发工具: - **JDK及JRE**:提供基本的Java运行环境,版本建议使用1.6及以上。 - **MyEclipse**:一个强大的集成开发环境(IDE),版本建议使用6.0及以上。 - **...

    cairngorm 框架介绍(详细介绍了Adobe Cairngorm框架)

    Adobe Cairngorm框架为Flex和ActionScript开发提供了强大且灵活的MVC实现,通过ServiceLocator、EventBroker、Command等组件,帮助开发者构建可维护、可扩展的应用程序。了解并熟练运用Cairngorm框架,可以显著提升...

    flex框架之Cairngorm框架(二)

    在Cairngorm框架中,主要包含以下几个核心组件: 1. **Controller**:控制器是Cairngorm的核心,它负责监听事件并调度模型和视图。控制器通常是一个全局的Singleton类,比如`ApplicationController`,它接收来自...

    Cairngorm框架,很好

    Cairngorm框架是Adobe Flex开发中的一个著名MVC(模型-视图-控制器)设计模式实现,它为构建可扩展、模块化和易于维护的Flex应用提供了强大的基础。这个框架由Rorke McCreary在2005年创建,自那时起,它已经成为了...

    Flex Cairngorm框架生成器

    Flex Cairngorm框架生成器是一款专门针对Adobe Flex开发的工具,旨在简化Cairngorm框架的应用构建过程。Cairngorm是ActionScript和Flex社区中广泛使用的轻量级MVC(Model-View-Controller)框架,它帮助开发者组织和...

    cairngorm框架module学习一

    - **library.swf**:这可能是一个包含Cairngorm框架或应用模块的SWF库文件。它可能包含了预编译的代码、资源和组件,方便在多个项目中复用。 - **catalog.xml**:通常在Flex项目中,此文件可能是库目录,列出库中的...

    flex-Cairngorm框架

    Flex Cairngorm框架是Adobe Flex应用程序开发中的一个流行的设计模式,它基于Model-View-Controller(MVC)架构,旨在提高代码的可维护性和可扩展性。Cairngorm框架由SitePen公司开发,最初是为了满足大型企业级Flex...

    flex 的cairngorm框架实例

    而Cairngorm框架,则是针对Flex的一种轻量级、可扩展的MVC(模型-视图-控制器)设计模式实现,它极大地简化了Flex应用程序的架构和管理,特别是对于大型复杂项目的开发。 Cairngorm框架的核心理念是分离关注点,将...

    flex Cairngorm框架实例

    Flex Cairngorm框架是一个强大的轻量级MVC(模型-视图-控制器)架构,用于构建富互联网应用程序(RIA)。这个框架是Adobe Flex开发者社区中的一个流行选择,它旨在提高代码组织、可维护性和可扩展性。让我们深入探讨...

    cairngorm框架module学习三

    **cairngorm框架module学习三** Cairngorm是一个轻量级的ActionScript框架,主要应用于Flex和Adobe AIR开发,旨在提供一个可扩展和可维护的架构,以支持大型和复杂的RIA(富互联网应用)项目。这个框架是基于MVC...

    Spring Actionscript IOC 框架与 Flex Cairngorm MVC 应用开发

    在开发 Flex 应用程序时,Spring Actionscript IOC 框架和 Cairngorm MVC 模式结合使用,可以显著提升代码的可维护性和可扩展性。Spring Actionscript 是一个针对 Actionscript3 设计的轻量级框架,其灵感来源于 ...

    Cairngorm框架学习

    Cairngorm框架是一款专为Adobe Flex和ActionScript开发的轻量级架构框架,它旨在解决RIA(Rich Internet Applications)应用程序中常见的一些问题。对于初学者而言,Cairngorm框架提供了一套易于理解和使用的模式...

    Flex+.Net+Cairngorm+Fluorine的HelloWorld演示

    2. **Cairngorm框架应用**:学习Cairngorm的核心概念,如Command、ServiceLocator、EventDispatcher等,以及如何使用它们来组织代码结构,实现事件驱动的编程。 3. **FluorineFX配置**:在.NET项目中集成FluorineFX...

    cairngorm框架module学习二

    **cairngorm框架module学习二** ...总之,Cairngorm框架的模块化设计是解决大型Flex应用复杂性的有效手段。通过理解并掌握模块化的概念和实现方式,开发者可以更好地组织代码,提高代码质量和可维护性。

    Flex的Cairngorm框架工程 Java后台

    Flex的Cairngorm框架是Adobe Flex开发中的一个轻量级MVC(Model-View-Controller)框架,它为创建可扩展、可维护的富互联网应用程序(RIA)提供了结构和指导。Cairngorm框架主要由Martin Fowler在2005年提出,灵感...

    Flex网上nokia手机专卖店 源码(运用Cairngorm框架)

    标题中的“Flex网上nokia手机专卖店 源码(运用Cairngorm框架)”指的是一个基于Adobe Flex技术开发的在线商店应用,专门售卖Nokia品牌的手机。这个应用使用了Cairngorm框架来实现Model-View-Controller(MVC)设计...

    flex cairngorm 框架

    Flex Cairngorm框架是Adobe Flex开发中的一个轻量级、基于MVC(Model-View-Controller)设计模式的架构框架,旨在帮助开发者更好地组织和管理复杂的Flex应用。这个框架最初由Adobe公司内部开发,后来成为了开源项目...

Global site tag (gtag.js) - Google Analytics