Архитектурные проблемы flex-приложений
DESCRIPTION
Презентация посвящена описанию архитектурных проблем Flex-приложений и способу их решения с помощью мета-паттерна Model-View-Controller (MVC).TRANSCRIPT
![Page 1: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/1.jpg)
Архитектурные проблемы Flex-приложений
Константин Ковалёвhttp://riapriority.com/
24 августа 2008 г.
![Page 2: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/2.jpg)
Начнем с примера
![Page 3: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/3.jpg)
1. Поиск
SearchWebService
![Page 4: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/4.jpg)
2. Просмотр детальной информации
ItemDetailItemInfo
![Page 5: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/5.jpg)
3. Загрузка Избранного
SharedObjects
![Page 6: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/6.jpg)
4. Сохранение Избранного
SharedObjects
![Page 7: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/7.jpg)
Пишем наше приложение…
![Page 8: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/8.jpg)
…И получаем результат
http://ozon-books-finder.googlecode.com/svn/trunk/flexspaghetti
![Page 9: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/9.jpg)
Почему так?
Потому что…
![Page 10: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/10.jpg)
Почему так?
Потому что…
Но есть выход!
![Page 11: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/11.jpg)
Паттерны
Thing-Model-View-EditorМай 1979
![Page 12: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/12.jpg)
Паттерны
Models-Views-ControllersДекабрь 1979
![Page 13: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/13.jpg)
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
![Page 14: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/14.jpg)
MVC
ControllerController
ViewView ModelModel
![Page 15: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/15.jpg)
Model
• Models represent knowledge ©
• Хранит данные и состояние приложения
![Page 16: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/16.jpg)
View (представление)
• Внешний вид приложения, визуальное поведение
• Получает пользовательский ввод
![Page 17: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/17.jpg)
Controller
• Отвечает на события
• Изменяет модель
![Page 18: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/18.jpg)
MVC-картинки
ControllerController
ViewView ModelModel
![Page 19: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/19.jpg)
MVC-картинки
ControllerController
ViewView ModelModel
оповещает
![Page 20: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/20.jpg)
MVC-картинки
ControllerController
ViewView ModelModel
оповещает изменяет
![Page 21: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/21.jpg)
MVC-картинки
ControllerController
ViewView ModelModel
оповещает изменяет
обновляет
![Page 22: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/22.jpg)
MVC-картинки (вариант)
ControllerController
ViewView ModelModel
оповещает
![Page 23: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/23.jpg)
MVC-картинки (вариант)
ControllerController
ViewView ModelModel
оповещает
изменяет
![Page 24: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/24.jpg)
Что это дает?
• Взаимозаменяемость частей
• Независимая модификация кода
• Повторное использование
• Понятная структура
![Page 25: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/25.jpg)
Что с этим делать?
• Надо много думать • Надо много писать • Лучше я по-старинке
![Page 26: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/26.jpg)
Что с этим делать?
• Надо много думать • Надо много писать • Лучше я по-старинке
За вас уже подумали и написали!
![Page 27: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/27.jpg)
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
![Page 28: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/28.jpg)
Далее в нашей программе
• Cairngorm
• Mate
Stay tuned!
![Page 29: Архитектурные проблемы Flex-приложений](https://reader033.vdocuments.site/reader033/viewer/2022061212/5495ed67b479595f5e8b4bfd/html5/thumbnails/29.jpg)
Чем заняться в перерыве
http://code.google.com/p/ozon-books-finder/