由于PureMVC.org大陆目前无法访问。
下载SDK请到这里:点击打开链接
一:为程序创建Facade:
package com.wf.facade { import org.puremvc.as3.interfaces.*; import org.puremvc.as3.patterns.facade.*; //MyApp程序的Facade类 public class ApplicationFacade extends Facade implements IFacade { //定义Notification(通知常量) public static const STARTUP:String = "startup"; public static const LOGIN:String = "login"; //得到ApplicationFacade单例的工厂方法 public static function getInstance():ApplicationFacade { if(instance == null) instance = new ApplicationFacade(); return instance as ApplicationFacade; } //注册Command,建立Command与Notification之间的映射 override protected function initializeController():void { super.initializeController(); registerCommand(STARTUP,StartupCommand); registerCommand(LOGIN,LoginCommand); registerCommand(LoginProxy.LOGIN_SUCCESS,GetPrefsCommand); } //启动PureMvc,在应用程序中调用此方法,并传递应用程序本身的应用 public function startup(app:PureMvcStudy):void { sendNotification(STARTUP,app); } } }
2、初始化Facade:
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="facade.startup(this)" > <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <fx:Script> <![CDATA[ import com.wf.facade.ApplicationFacade; import mx.core.Application; //获取ApplicationFacade private var facade:ApplicationFacade = ApplicationFacade.getInstance(); ]]> </fx:Script> </s:WindowedApplication>