Home | Flex and Flash | Frameworks | PureMVC | Приложение, использующее PureMVC framework

Приложение, использующее PureMVC framework

Font size: Decrease font Enlarge font
image

Приложение, использующее 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

Исходники - source, приложение - application

Comments (1 posted):

Bjorn on 26 May, 2008 05:05:52
avatar
так нраицца ее крутить)))

Post your comment comment

Please enter the code you see in the image:


  • email Email to a friend
  • print Print version
  • Plain text Plain text
Tags
No tags for this article
Rate this article
5.00