您的位置:首页 > 其它

/etc/environment,/etc/profile, .profile, .env详解

2012-05-03 19:17 260 查看
Yeah.

As the best practice says: the command and event should be One-To-One in cairngorm . If doing so, we would have lots of command and event files.

So here is my way in solving the problem, see codes below.

PhotoEvent.as has two event types.
import com.adobe.cairngorm.control.CairngormEvent;
import com.babytree.photoUpload.control.MainController;

public class PhotoEvent extends CairngormEvent
{
public function PhotoEvent (type:String)
{
super(type);
}
//get all albums of a user
public static const GET_ALBUMSLIST:String  = "get_albumslist";
//get all photos of an album
public static const GET_ALBUMPHOTOS:String = "get_albumphotos";
}


PhotoCommand.as deal with PhotoEvent; PhotoServiceDelegate.as contains HTTPService Call.
public class PhotoCommand implements ICommand,IResponder
{
private var model : ModelLocator = ModelLocator.getInstance();
private var photoServiceDelegate:PhotoServiceDelegate;
private var photoEvent:PhotoEvent;
// functions ============================

public function execute( event:CairngormEvent ) : void
{
photoEvent = event as PhotoEvent;
photoServiceDelegate = new PhotoServiceDelegat(this as IResponder);
switch(photoEvent.type){
case PhotoEvent.GET_ALBUMSLIST:
photoServiceDelegate.getUserAlbums(model.userVO);
break;
case PhotoEvent.GET_ALBUMPHOTOS:
photoServiceDelegate.getAlbumPhotos(model.userVO);
break;
}
}

public function result( data:Object ) : void
{
switch(photoEvent.type){
case PhotoEvent.GET_ALBUMSLIST:
//do something
break;
case PhotoEvent.GET_ALBUMPHOTOS:
//do something
break;
}
}

public function fault( info : Object ) : void
{
trace("fault in PhotoCommand.as ==== Event.type is ===" + photoEvent.type);
}

}


My Question is : the way I hold PhotoEvent and reuse it in result function is right ?

is there any advice ?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: