现在的位置: 首页 > 综合 > 正文

PureMvc学习(一)

2013年03月28日 ⁄ 综合 ⁄ 共 1368字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.