Архитектурные проблемы flex-приложений

Post on 21-Dec-2014

1.839 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Презентация посвящена описанию архитектурных проблем Flex-приложений и способу их решения с помощью мета-паттерна Model-View-Controller (MVC).

TRANSCRIPT

Архитектурные проблемы Flex-приложений

Константин Ковалёвhttp://riapriority.com/

constantiner@riapriority.com

24 августа 2008 г.

Начнем с примера

1. Поиск

SearchWebService

2. Просмотр детальной информации

ItemDetailItemInfo

3. Загрузка Избранного

SharedObjects

4. Сохранение Избранного

SharedObjects

Пишем наше приложение…

…И получаем результат

http://ozon-books-finder.googlecode.com/svn/trunk/flexspaghetti

Почему так?

Потому что…

Почему так?

Потому что…

Но есть выход!

Паттерны

Thing-Model-View-EditorМай 1979

Паттерны

Models-Views-ControllersДекабрь 1979

Model-View-Controller (MVC)

Trygve Reenskaug

Tags:• Xerox PARC• SmallTalk• 1978-1979

http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.htmlhttp://heim.ifi.uio.no/~trygver/index.htmlhttp://heim.ifi.uio.no/~trygver/1979/mvc-2/1979-12-MVC.pdf

MVC

ControllerController

ViewView ModelModel

Model

• Models represent knowledge ©

• Хранит данные и состояние приложения

View (представление)

• Внешний вид приложения, визуальное поведение

• Получает пользовательский ввод

Controller

• Отвечает на события

• Изменяет модель

MVC-картинки

ControllerController

ViewView ModelModel

MVC-картинки

ControllerController

ViewView ModelModel

оповещает

MVC-картинки

ControllerController

ViewView ModelModel

оповещает изменяет

MVC-картинки

ControllerController

ViewView ModelModel

оповещает изменяет

обновляет

MVC-картинки (вариант)

ControllerController

ViewView ModelModel

оповещает

MVC-картинки (вариант)

ControllerController

ViewView ModelModel

оповещает

изменяет

Что это дает?

• Взаимозаменяемость частей

• Независимая модификация кода

• Повторное использование

• Понятная структура

Что с этим делать?

• Надо много думать • Надо много писать • Лучше я по-старинке

Что с этим делать?

• Надо много думать • Надо много писать • Лучше я по-старинке

За вас уже подумали и написали!

MVC, IoC и другие…

• Cairngorm• PureMVC• Parsley• Mate• ServeBox Foundry• Flest• Flex-slide• Guasax• Model-Glue: Flex• easyMVC

• Prana• Anvil• MIoC• Solstice• ARP• Indigo Framework• VEGAS• MVCS• Swiz

Далее в нашей программе

• Cairngorm

• Mate

Stay tuned!

Чем заняться в перерыве

http://code.google.com/p/ozon-books-finder/

Q&A

Константин Ковалёвhttp://riapriority.com/

constantiner@riapriority.com

top related