PureMVC and Papervision

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

1 Favorite

PureMVC and Papervision - Presentation Transcript

  1.  
    • Введение
    • Немного теории
      • Концептуальная диаграмма
      • Суть фреймворка
      • Как это работает
    • Пример: IT Developers v1
    • Actionscript 3 [Multicore version]
      • Pipes Util
      • Пример : IT Developers v 2
      • Ньюансы
    • Немного о недостатках
    • Выводы
    Меню:
  2. open-source фреймворк для создания приложений базирующихся на мета-паттерне MVC – Model, View, Controller PureMVC
    • open-source фреймворк для создания приложений
    • базирующихся на мета-паттерне MVC – Model, View,
    • Controller
    • содержит множество других паттернов внутри
    • себя: Façade, Mediator, Proxy, Command, etc.
    • имеет слабо связанную архитектуру
    • легко расширяем
    • хорошо задокументирован
    PureMVC
  3. планировался как фреймворк, независимый от платформы и языка, хотя весь код в документации И примеры написаны на Actionscript 3 , существуют версии для AS2, Java, C#, PHP, etc. PureMVC
    • планировался как фреймворк, независимый от
    • платформы и языка, хотя весь код в документации
    • И примеры написаны на Actionscript 3 , существуют
    • версии для AS2, Java, C#, PHP, etc.
    • не использует Actionscript Event Model
    • не использует Flex Libraries ( т.е. может
    • использоваться для Flash проектов )
    PureMVC
  4.  
  5. Façade, Model, View, Controller – 4 Singletons (Singleton – только один экземпляр объекта может быть создан )
  6. Façade – инициализирует и предоставляет прозрачный доступ для Model, View и С ontroller. Модель представляют прокси классы , Вид – медиаторы , Контроллер – команд ы. Медиаторы, прокси и комманды используют Façade для доступа к друг другу и взаимодествия.
  7. Элементы системы взаимодейтсвуют между собой с помощью - Notifications (используется Observer паттерн) Прокси могут посылать события, но не могут их слушать, медиаторы могут и посылать и слушать события, а комманды могут не только посылать события, но и вызываться событием.
  8. 1. Проектирование, нужно четко разобраться в приложении и сразу разграничивать роли и логику между моделью, видом и контроллером 2. Создание визуальн ых элементов – view components пранировать как отдельный компонент, продумать его API , создать ряд событий для отлавливания его изменений 3. Создание сервисов для общения с сервером – отсылки и получения данных, а также VO объектов Как легко написать приложение на PureMVC
  9. 4. Продумать какие основн ые действия будет выполнять приложение – функциональность. Как легко написать приложение на PureMVC
  10. 4. Продумать какие основн ые действия будет выполнять приложение – функциональность. ... т.е все как обычно – спроектировать, создать визуальный мокап, сервисы (если есть общение с сервером) и продумать, что будет делать приложение... Как легко написать приложение на PureMVC
  11. 4. Продумать какие основн ые действия будет выполнять приложение – функциональность. ... т.е все как обычно – спроектировать, создать визуальный мокап, сервисы (если есть общение с сервером) и продумать, что будет делать приложение... А вот теперь взять в руки инструмент... Как легко написать приложение на PureMVC
    • Создаем Façade для нашего приложения
      • extends PureMVC Façade and implements Ifacade interface
      • определяем метод getInstance() который возвращает единственный экземпляр фасада
      • описываем имена для всех основных сообщений ( notifications) приложения
      • инициализируем контроллер (перегружаем initializeController метод) и мапим события к коммандам
      • определяем метод startup который запускает приложение и обычно связан с коммандой StartupCommand
      • Инициализируем и вызываем startup в приложении (если во Flex, то обычно в creationComplete)
  12. Все!
  13. Все! ... Работает?
  14. Все! ... Работает?... А по идее должно)
  15. Все! ... Работает?... А по идее должно) 2. Создать Proxy классы для разного типа данных в которых мы будем вызывать уже созданные сервисы
  16. Все! ... Работает?... А по идее должно) 2. Создать Proxy классы для разного типа данных в которых мы будем вызывать уже созданные сервисы 3. Создать Mediators – которые слушают и обрабатывают события визуальных компонентов, а также изменяют их
  17. Все! ... Работает?... А по идее должно) 2. Создать Proxy классы для разного типа данных в которых мы будем вызывать уже созданные сервисы 3. Создать Mediators – которые слушают и обрабатывают события визуальных компонентов, а также изменяют их 4. Создать С ommands для запуска приложения, инициализации и остальной логики приложения - simple commands - macro commands
  18. Все! ... Работает?... А по идее должно) 2. Создать Proxy классы для разного типа данных в которых мы будем вызывать уже созданные сервисы 3. Создать Mediators – которые слушают и обрабатывают события визуальных компонентов, а также изменяют их 4. Создать С ommands для запуска приложения, инициализации и остальной логики приложения - simple commands - macro commands 5. Добавить обмен событиями ( notifications )
  19. Важное в PureMVC Реализация первостепенной мечты каждого программиста, начинающего работать с чем-либо новым или на новом рабочем месте )
  20. Модульные приложения А что если ядер несколько? Трубопровод, как выход из ситуации
  21. public static function getInstance( key:String ):ApplicationFacade { if (instanceMap[key] == null) instanceMap[key] = new ApplicationFacade(key); return instanceMap[key] as ApplicationFacade; } PureMVC Actionscript 3 Multicore Использование мультитона вместо синглтона
  22. PureMVC Actionscript 3 Multicore Pipes Ну и собственно трубопровод
  23. PureMVC Actionscript 3 Multicore Pipes Вариант посложнее: система водоканалов
  24. PureMVC Actionscript 3 Multicore Pipes Существующее приложение не нужно переделывать!
    • PureMVC Actionscript 3 Multicore Pipes
    • Существующее приложение
    • не нужно переделывать!
    • для приложения, а также для каждого из модулей создается специальный соединяющий медиатор – Junction
    • PureMVC Actionscript 3 Multicore Pipes
    • Существующее приложение
    • не нужно переделывать!
    • для приложения, а также для каждого из модулей создается специальный соединяющий медиатор – Junction
    • - для главного приложения создаются и регистрируются так наз ываемые TeeSplit ( для труб по которым идут сообщения от главного приложения) и TeeMerge ( для труб по которым идут сообщения от модулей к главному приложению)
    • PureMVC Actionscript 3 Multicore Pipes
    • Существующее приложение
    • не нужно переделывать!
    • для приложения, а также для каждого из модулей создается специальный соединяющий медиатор – Junction
    • - для главного приложения создаются и регистрируются так наз ываемые TeeSplit ( для труб по которым идут сообщения от главного приложения) и TeeMerge ( для труб по которым идут сообщения от модулей к главному приложению)
    • - на соединители ставятся слушатели для входящих сообщений
  25. PureMVC Actionscript 3 Multicore Pipes
    • Создаем Junction медиаторы для приложения и модулей, которые будут соединяться трубами, одна труба для сообщений от модуля к приложению, одна – наоборот.
  26. PureMVC Actionscript 3 Multicore Pipes
    • Создаем Junction медиаторы для приложения и модулей, которые будут соединяться трубами, одна труба для сообщений от модуля к приложению, одна – наоборот.
    • Получатель должен иметь слушатель – pipe listener, для обработки входящих сообщений
  27. PureMVC Actionscript 3 Multicore Pipes
    • Создаем Junction медиаторы для приложения и модулей, которые будут соединяться трубами, одна труба для сообщений от модуля к приложению, одна – наоборот.
    • Получатель должен иметь слушатель – pipe listener, для обработки входящих сообщений
    • Для отправки сообщения используется метод sendMessage(), метод Junction медиатора, который посылает объекты типа Message
  28. PureMVC Actionscript 3 Multicore Pipes
    • Создаем Junction медиаторы для приложения и модулей, которые будут соединяться трубами, одна труба для сообщений от модуля к приложению, одна – наоборот.
    • Получатель должен иметь слушатель – pipe listener, для обработки входящих сообщений
    • Для отправки сообщения используется метод sendMessage(), метод Junction медиатора, который посылает объекты типа Message
    • После получение сообщения оно легко превращается в notification внутри принимающего приложения
  29. Список литератур ы для прочтения www.puremvc.org + представленная документация, примеры с исходным кодом, форум http://www.joshuaostrom.com http://www.websector.de/blog http://www.nutrixinteractive.com/blog/ http://flash-ripper.com/
  30. Спасибо за внимание!

+ Dmitry KurikshaDmitry Kuriksha, 10 months ago

custom

1800 views, 1 favs, 5 embeds more stats

Building a flash application utilizing both PureNVC more

More info about this document

© All Rights Reserved

Go to text version

  • Total Views 1800
    • 1412 on SlideShare
    • 388 from embeds
  • Comments 1
  • Favorites 1
  • Downloads 8
Most viewed embeds
  • 195 views on http://flash-ripper.com
  • 168 views on http://fpug.org.ua
  • 18 views on http://lj-toys.com
  • 5 views on http://www.fpug.org.ua
  • 2 views on http://xss.yandex.net

more

All embeds
  • 195 views on http://flash-ripper.com
  • 168 views on http://fpug.org.ua
  • 18 views on http://lj-toys.com
  • 5 views on http://www.fpug.org.ua
  • 2 views on http://xss.yandex.net

less

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel
File a copyright complaint
Having problems? Go to our helpdesk?

Categories