Приложение, использующее PureMVC framework
Приложение, использующее PureMVC фреймворк.
В этом примере будет создано приложение, инициализирующееся при запуске и позволяющее перетаскивать картинки в HBox'е.
Чтобы начать, создайте новый Flex Project и назовите его mPureMVC, потом добавьте PureMVC.swc в project->properties->build path->library path флекс проекта.
1. По умолчанию будет создан файл mPureMVC.mxml
В нем проведем инициализацию нашего фасада и запустим команду
facade = ApplicationFacade.getInstance();
facade.notifyObservers(new Notification(ApplicationFacade.STARTUP, this));
2. Создайте папку gfacade и в ней класс ApplicationFacade, который будет extends Facade и implements IFacade.
В нем будет строка для указания команды
public static const STARTUP:String = "STARTUP";
И перепишем метод
override protected function initializeController():void
{
super.initializeController();
registerCommand(STARTUP, StartupCommand);
}
3. Создайте папку commands, в ней класс StartupCommand (extends SimpleCommand и implements ICommand)
4. Добавим функционал к визуальным компонентам, сам компонент поместим в папку view (нужно создать)
4.1 Создадим компонент imgitem.mxml
4.2 В папке proxy создадим класс MProxy extends Proxy implements IProxy
4.3 В папке mediators классы MMediator и ImageMediator (extends Mediator implements IMediator)
В классе MMediator добавим методы для добавления картинок в компонент HBox.
private function initializeImages(app:Object):void
{
for(var i:int=1;i<5;i++)
{
var imItem:imgitem = new imgitem();
app.imageHolder.addChild(imItem);
imItem.imageS.source = "img/l" + i + ".jpg";
facade.registerMediator(new ImageMediator(imItem));
}
}
В классе ImageMediator опишем методы для перетаскивания картинки Drag&Drop
public function ImageMediator(viewComponent:Object=null)
{
super('ImageM', viewComponent);
viewComponent.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler)
viewComponent.addEventListener(DragEvent.DRAG_ENTER, dragEnterHandler);
viewComponent.addEventListener(DragEvent.DRAG_DROP, dragDropHandler);
}
5. В классы Mediator'ов можем добавлять любую логику для наших визуальных компонентов. Ниже пример работающего приложения с исходниками и ссылки на ресурсы по которым был сделан этот урок.
Ссылки:
http://9mmedia.com/blog/?p=10
http://www.as3dp.com/2007/12/27/minimalist-mvc-example-using-the-puremvc-framework/
http://9mmedia.com/blog/?p=9



Comments (1 posted):
Post your comment