由于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>