ʹÓÃFabrication+PureMVC¿ª·¢multi modular FlexÓ¦ÓÃ
PureMVCʵÏÖÁ˼òµ¥µÄMVC¿ò¼Ü£¬½«Ó¦Ó÷ÖΪmodel¡¢viewºÍcontrolÈý²¿·Ö¡£
ºÃ´¦ºÜ¶àÁË£¬½µµÍÁËÄ£¿éÖ®¼äµÄñîºÏÐÔ¡¢Ìá¸ßÁ˳ÌÐòµÄ¿Éά»¤ÐԺͿÉÀ©Õ¹ÐÔ¡£
fabricationÔÚPureMVC»ù´¡ÉÏ×öÁËÀ©Õ¹£¬¼ò»¯ÁËpureMVCµÄ¿ª·¢ÄѶȣ¬ÏÂÃæ¼òµ¥½éÉÜÒ»ÏÂfabricationµÄ¿ª·¢¹ý³Ì¡£
Ê×ÏÈ£¬¸ù¾ÝÐèҪʵÏÖorg.puremvc.as3.multicore.utilities.fabrication.components.FlexModule¡¢FlexApplication¡¢FlashApplication»òÕßAirApplication¡£Õâ¾ÍÊÇViewÁË¡£
ÔÚViewÖÐʵÏÖoverride public function getStartupCommand():Class ·½·¨¡£·µ»Ø³õʼ»¯CommandÀ࣬ÈçÏ£º
public class ConfigModuleStartupCommand extends SimpleFabricationCommand {
override public function execute(note:INotification):void {
registerProxy(new GetPropertyProxy());
registerCommand(ShellConstants.USERINFO_FIND, FindUserInfoCommand);
registerMediator(new ConfigModuleMediator(note.getBody() as ConfigModule));
}
}
ÔÚ³õʼ»¯ÀàÖУ¬ÐèҪע²áËùÐèÒªµÄProxy¡¢CommandºÍMediator£¬ProxyÖ÷ÒªÓÃ×÷ºÍºǫ́½øÐн»»¥£¬²éѯºÍÐÞ¸ÄÊý¾Ý£¬Õâ¾ÍÊÇmodelÁË¡£
CommandÓÃ×÷½ÓÊÕViewÖеÄʼþ£¬²¢×ö´¦Àí£¬Ò»°ãÇé¿öϾÍÊǵ÷ÓÃProxyµÄ·½·¨¡£ÈçÏ£º
public class GetPropertyCommand extends SimpleFabricationCommand {
override public function execute(note:INotification):void {
var getPropertyProxy:GetPropertyProxy = retrieveProxy(GetPropertyProxy.NAME) as GetPropertyProxy;
getPropertyProxy.fetchProperty();
}
}
µ±Proxy·½·¨µÃµ½ºǫ́·´À¡ºó£¬»á³ö·¢³É¹¦»òʧ°ÜµÄʼþ¡£ÈçÏ£º
public class GetPropertyProxy extends FabricationProxy
{
static public const NAME:String = "GetPropertyProxy";
private var _remoteService:RemoteObject;
public function GetPropertyProxy(name:String = NAME, data:Object = null)
{
super(name, data);
setup();
}
private function setup():void{
_remoteService = new RemoteObject();
_remoteService.destination = "sysService";
_remoteService.showBusyCursor = true;
_remoteService.addEventListener(ResultEvent.RESULT, result);
_remoteService.addEventListener(FaultEvent.FAULT, failed);
}
p
Ïà¹ØÎĵµ£º
È¥ÄêÒò¼¼ÊõÐèÒª£¬Ñо¿Á˶Îʱ¼äflex3£¬Ê±¸ôÒ»Ä꣬±ÉÈ˸оõÍüµÄ²î²»¶àÁË£¬°¦£¬É¶¼ÇÐÔ°¡£¬ÏÖÔÚ£¬Adobe¹«Ë¾µÄflex°æ±¾ÒѾµ½4ÁË£¬²»¹ý»¹ÔÚbeta½×¶Î£¬ÏÖÔÚÊÇbeta2£¬´Óflex3 µ½flex4 ×îÖ±¹ÛµÄ±ä»¯¾ÍÊÇ»ùÓÚEclipseµÄIDE Flex Builder ¸üÃûΪ Flash Builder£¬
ÆäÖÐFlex 4 Ö§³ÖµÄÐÂÌØÐÔÓÐ:
1. Package explorer(°ü×ÊÔ´¹ÜÀíÆ÷)
ÖÕÓ ......
RSL ( Runtime Shared Library )——ÔËÐÐʱ×é¼þ¹²Ïí¿â,ÓþÍÊÇʹͬÓòÀïµÄÏîÄ¿¿É¹²Ïí×ÊÔ´£¬ÕâÑù¿ÉÒÔ½ÚÊ¡ÏîÄ¿µÄµµ°¸´óС£¬Ò×ÇиÒ×°áÔË¡¢Ò×·ÖÏí×é¼þ¿âÏîÄ¿Óë×é¼þ¿â¿É·Ö¿ª¿ª·¢ .ÈçÏÂͼ£º
ÏÂÃæÓÃͼÎĵķ½Ê½Õ¹Ê¾ÔÚFlex BuilderÖÐʹÓÃRSL¸øProject¼õ·ÊµÄ²½Öè¡£Ê×ÏÈÀ´¿´¿´¼õ·Ê֮ǰµÄ”ÌåÖØ”:
ÈçÉÏͼËùʾ£º ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<![CDATA[
//µ¼Èë ......
¹¤³ÌϵÄhistoryÎļþ¼ÐÏ´æ·ÅÈý¸öÎļþ£ºindex.template.html£¬rightClick.js,swfobject.js
srcÎļþ¼ÐÏ´æ·ÅCustomContextMenu.mxmlÎļþ¡£
1.CustomContextMenu.mxml£º
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
applicati ......
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*" layout="absolute" creationComplete="initApp()">
<mx:Script>
<![CDATA[
public var pageRecordes:uint = 8;
public var totalPages:ui ......