SlideShare ist ein Scribd-Unternehmen logo
1 von 37
 
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Меню:
open-source  фреймворк для создания приложений базирующихся на мета-паттерне  MVC – Model, View, Controller PureMVC
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],PureMVC
планировался как фреймворк, независимый от платформы и языка, хотя весь код в документации И примеры написаны на  Actionscript 3 , существуют версии для  AS2, Java, C#, PHP, etc.  PureMVC
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],PureMVC
 
Façade, Model, View, Controller – 4 Singletons (Singleton –  только один экземпляр объекта может быть создан )
Façade  –  инициализирует и предоставляет прозрачный доступ для  Model, View  и  С ontroller. Модель представляют прокси классы ,  Вид  –  медиаторы ,  Контроллер –  команд ы. Медиаторы, прокси и комманды используют  Façade  для доступа к друг другу и взаимодествия.
Элементы системы взаимодейтсвуют между собой с помощью -  Notifications  (используется  Observer  паттерн) Прокси могут посылать события, но не могут их слушать, медиаторы могут и посылать и слушать события, а комманды могут не только посылать события, но и вызываться событием.
1.  Проектирование, нужно четко разобраться в приложении и сразу разграничивать роли и логику   между моделью, видом и контроллером 2.  Создание визуальн ых элементов –  view components пранировать как отдельный компонент, продумать его  API , создать ряд событий для отлавливания его изменений 3.  Создание сервисов для общения с сервером – отсылки и получения данных, а также  VO  объектов Как легко написать приложение на  PureMVC
4.  Продумать какие основн ые действия будет выполнять приложение – функциональность. Как легко написать приложение на  PureMVC
4.  Продумать какие основн ые действия будет выполнять приложение – функциональность. ... т.е все как обычно – спроектировать, создать визуальный мокап, сервисы (если есть общение с сервером) и продумать, что будет делать приложение...  Как легко написать приложение на  PureMVC
4.  Продумать какие основн ые действия будет выполнять приложение – функциональность. ... т.е все как обычно – спроектировать, создать визуальный мокап, сервисы (если есть общение с сервером) и продумать, что будет делать приложение... А вот теперь взять в руки инструмент... Как легко написать приложение на  PureMVC
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Все!
Все! ... Работает?
Все! ... Работает?... А по идее должно)
Все! ... Работает?... А по идее должно) 2.  Создать  Proxy   классы для разного типа данных в которых мы будем вызывать уже созданные сервисы
Все! ... Работает?... А по идее должно) 2.  Создать  Proxy   классы для разного типа данных в которых мы будем вызывать уже созданные сервисы 3.  Создать  Mediators  –  которые слушают и обрабатывают события визуальных компонентов, а также изменяют их
Все! ... Работает?... А по идее должно) 2.  Создать  Proxy  классы для разного типа данных в которых мы будем вызывать уже созданные сервисы 3.  Создать  Mediators –  которые слушают и обрабатывают события визуальных компонентов, а также изменяют их 4.  Создать  С ommands  для запуска приложения, инициализации и остальной логики приложения -  simple commands - macro commands
Все! ... Работает?... А по идее должно) 2.  Создать  Proxy   классы для разного типа данных в которых мы будем вызывать уже созданные сервисы 3.  Создать  Mediators  –  которые слушают и обрабатывают события визуальных компонентов, а также изменяют их 4.  Создать  С ommands  для запуска приложения, инициализации и остальной логики приложения -  simple commands - macro commands 5.  Добавить обмен событиями ( notifications )
Важное в  PureMVC Реализация первостепенной мечты каждого программиста, начинающего работать с чем-либо новым или на новом рабочем месте )
Модульные приложения А что если ядер несколько? Трубопровод, как выход из ситуации
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 Использование мультитона вместо синглтона
PureMVC Actionscript 3 Multicore   Pipes Ну и собственно трубопровод
PureMVC Actionscript 3 Multicore   Pipes Вариант посложнее: система водоканалов
PureMVC Actionscript 3 Multicore   Pipes Существующее приложение не нужно переделывать!
[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PureMVC Actionscript 3 Multicore   Pipes ,[object Object]
PureMVC Actionscript 3 Multicore   Pipes ,[object Object],[object Object]
PureMVC Actionscript 3 Multicore   Pipes ,[object Object],[object Object],[object Object]
PureMVC Actionscript 3 Multicore   Pipes ,[object Object],[object Object],[object Object],[object Object]
Список литератур ы для прочтения www.puremvc.org +  представленная документация, примеры с исходным кодом, форум http://www.joshuaostrom.com http://www.websector.de/blog http://www.nutrixinteractive.com/blog/ http://flash-ripper.com/
Спасибо за внимание!

Weitere ähnliche Inhalte

Ähnlich wie PureMVC and Papervision

Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4Sergiy Shychynov
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianSergiy Shychynov
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими рукамиRoman Dvornov
 
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Alina Dolgikh
 
Middleware
MiddlewareMiddleware
Middlewaremegakott
 
Конкурс для разработчиков от Evernote
Конкурс для разработчиков от EvernoteКонкурс для разработчиков от Evernote
Конкурс для разработчиков от EvernoteEvernote
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в SpringUnguryan Vitaliy
 
08-170327133157.pdf
08-170327133157.pdf08-170327133157.pdf
08-170327133157.pdfssuser0562f1
 
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKПрограммируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKCisco Russia
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"Fwdays
 
Лекция 4
Лекция 4Лекция 4
Лекция 4itc73
 
1_symfony_introduction.pptx
1_symfony_introduction.pptx1_symfony_introduction.pptx
1_symfony_introduction.pptxrdninc
 
Mobile automation with Appium
Mobile automation with AppiumMobile automation with Appium
Mobile automation with AppiumOksanaBisyuk
 
Деплоймент и распространение обновлений для веб-приложений
Деплоймент и распространение обновлений для веб-приложенийДеплоймент и распространение обновлений для веб-приложений
Деплоймент и распространение обновлений для веб-приложенийMagecom Ukraine
 
Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Clouds NN
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработкиIT-Доминанта
 
Отладка и оптимизация многопоточных OpenMP-программ
Отладка и оптимизация многопоточных OpenMP-программОтладка и оптимизация многопоточных OpenMP-программ
Отладка и оптимизация многопоточных OpenMP-программTatyanazaxarova
 
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014Artsofte IT company
 
Внедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проектВнедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проектStanislaw Smetanin
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETDev2Dev
 

Ähnlich wie PureMVC and Papervision (20)

Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russian
 
Remote (dev)tools своими руками
Remote (dev)tools своими рукамиRemote (dev)tools своими руками
Remote (dev)tools своими руками
 
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015Владимир Еремин. Extending Openstack. PyCon Belarus 2015
Владимир Еремин. Extending Openstack. PyCon Belarus 2015
 
Middleware
MiddlewareMiddleware
Middleware
 
Конкурс для разработчиков от Evernote
Конкурс для разработчиков от EvernoteКонкурс для разработчиков от Evernote
Конкурс для разработчиков от Evernote
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
 
08-170327133157.pdf
08-170327133157.pdf08-170327133157.pdf
08-170327133157.pdf
 
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKПрограммируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
 
Лекция 4
Лекция 4Лекция 4
Лекция 4
 
1_symfony_introduction.pptx
1_symfony_introduction.pptx1_symfony_introduction.pptx
1_symfony_introduction.pptx
 
Mobile automation with Appium
Mobile automation with AppiumMobile automation with Appium
Mobile automation with Appium
 
Деплоймент и распространение обновлений для веб-приложений
Деплоймент и распространение обновлений для веб-приложенийДеплоймент и распространение обновлений для веб-приложений
Деплоймент и распространение обновлений для веб-приложений
 
Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.Миграция Web-проекта в облако. И.Гальцев.
Миграция Web-проекта в облако. И.Гальцев.
 
Экскурс в мир WEB разработки
Экскурс в мир WEB разработкиЭкскурс в мир WEB разработки
Экскурс в мир WEB разработки
 
Отладка и оптимизация многопоточных OpenMP-программ
Отладка и оптимизация многопоточных OpenMP-программОтладка и оптимизация многопоточных OpenMP-программ
Отладка и оптимизация многопоточных OpenMP-программ
 
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
презентация Адеев Николай, Artsofte для Tеlecom&Clouds 2014
 
Внедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проектВнедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проект
 
Модульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NETМодульная структура. Цветцих Денис D2D Just.NET
Модульная структура. Цветцих Денис D2D Just.NET
 

PureMVC and Papervision

  • 1.  
  • 2.
  • 3. open-source фреймворк для создания приложений базирующихся на мета-паттерне MVC – Model, View, Controller PureMVC
  • 4.
  • 5. планировался как фреймворк, независимый от платформы и языка, хотя весь код в документации И примеры написаны на Actionscript 3 , существуют версии для AS2, Java, C#, PHP, etc. PureMVC
  • 6.
  • 7.  
  • 8. Façade, Model, View, Controller – 4 Singletons (Singleton – только один экземпляр объекта может быть создан )
  • 9. Façade – инициализирует и предоставляет прозрачный доступ для Model, View и С ontroller. Модель представляют прокси классы , Вид – медиаторы , Контроллер – команд ы. Медиаторы, прокси и комманды используют Façade для доступа к друг другу и взаимодествия.
  • 10. Элементы системы взаимодейтсвуют между собой с помощью - Notifications (используется Observer паттерн) Прокси могут посылать события, но не могут их слушать, медиаторы могут и посылать и слушать события, а комманды могут не только посылать события, но и вызываться событием.
  • 11. 1. Проектирование, нужно четко разобраться в приложении и сразу разграничивать роли и логику между моделью, видом и контроллером 2. Создание визуальн ых элементов – view components пранировать как отдельный компонент, продумать его API , создать ряд событий для отлавливания его изменений 3. Создание сервисов для общения с сервером – отсылки и получения данных, а также VO объектов Как легко написать приложение на PureMVC
  • 12. 4. Продумать какие основн ые действия будет выполнять приложение – функциональность. Как легко написать приложение на PureMVC
  • 13. 4. Продумать какие основн ые действия будет выполнять приложение – функциональность. ... т.е все как обычно – спроектировать, создать визуальный мокап, сервисы (если есть общение с сервером) и продумать, что будет делать приложение... Как легко написать приложение на PureMVC
  • 14. 4. Продумать какие основн ые действия будет выполнять приложение – функциональность. ... т.е все как обычно – спроектировать, создать визуальный мокап, сервисы (если есть общение с сервером) и продумать, что будет делать приложение... А вот теперь взять в руки инструмент... Как легко написать приложение на PureMVC
  • 15.
  • 18. Все! ... Работает?... А по идее должно)
  • 19. Все! ... Работает?... А по идее должно) 2. Создать Proxy классы для разного типа данных в которых мы будем вызывать уже созданные сервисы
  • 20. Все! ... Работает?... А по идее должно) 2. Создать Proxy классы для разного типа данных в которых мы будем вызывать уже созданные сервисы 3. Создать Mediators – которые слушают и обрабатывают события визуальных компонентов, а также изменяют их
  • 21. Все! ... Работает?... А по идее должно) 2. Создать Proxy классы для разного типа данных в которых мы будем вызывать уже созданные сервисы 3. Создать Mediators – которые слушают и обрабатывают события визуальных компонентов, а также изменяют их 4. Создать С ommands для запуска приложения, инициализации и остальной логики приложения - simple commands - macro commands
  • 22. Все! ... Работает?... А по идее должно) 2. Создать Proxy классы для разного типа данных в которых мы будем вызывать уже созданные сервисы 3. Создать Mediators – которые слушают и обрабатывают события визуальных компонентов, а также изменяют их 4. Создать С ommands для запуска приложения, инициализации и остальной логики приложения - simple commands - macro commands 5. Добавить обмен событиями ( notifications )
  • 23. Важное в PureMVC Реализация первостепенной мечты каждого программиста, начинающего работать с чем-либо новым или на новом рабочем месте )
  • 24. Модульные приложения А что если ядер несколько? Трубопровод, как выход из ситуации
  • 25. 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 Использование мультитона вместо синглтона
  • 26. PureMVC Actionscript 3 Multicore Pipes Ну и собственно трубопровод
  • 27. PureMVC Actionscript 3 Multicore Pipes Вариант посложнее: система водоканалов
  • 28. PureMVC Actionscript 3 Multicore Pipes Существующее приложение не нужно переделывать!
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Список литератур ы для прочтения www.puremvc.org + представленная документация, примеры с исходным кодом, форум http://www.joshuaostrom.com http://www.websector.de/blog http://www.nutrixinteractive.com/blog/ http://flash-ripper.com/