SlideShare a Scribd company logo
 
[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/
Спасибо за внимание!

More Related Content

Viewers also liked

Editores e estado novo
Editores e estado novoEditores e estado novo
Editores e estado novo
Januário Esteves
 
João lé
João léJoão lé
Pecha Kusha for Arjan 31082012 TP 1310PM
Pecha Kusha for Arjan 31082012 TP 1310PMPecha Kusha for Arjan 31082012 TP 1310PM
Pecha Kusha for Arjan 31082012 TP 1310PMTim Polder
 
Formatos de audio
Formatos de audio Formatos de audio
Formatos de audio gileno0106
 
Arte: tensão e impedância
Arte: tensão e impedânciaArte: tensão e impedância
Arte: tensão e impedânciahelvis999
 
Apresentação Emgoldex em Portugues 2014
Apresentação Emgoldex em Portugues 2014Apresentação Emgoldex em Portugues 2014
Apresentação Emgoldex em Portugues 2014atodogaz
 
Presentatie
PresentatiePresentatie
Presentatietonksol
 
Eu só penso em você
Eu só penso em vocêEu só penso em você
Eu só penso em vocêJorciney
 
Estrategias de atencion al cliente15
Estrategias de atencion al cliente15Estrategias de atencion al cliente15
Estrategias de atencion al cliente15
4ld41r123
 
Dialnet o aprendizado-donaosabernamisticadeangelussilesius-3630986
Dialnet o aprendizado-donaosabernamisticadeangelussilesius-3630986Dialnet o aprendizado-donaosabernamisticadeangelussilesius-3630986
Dialnet o aprendizado-donaosabernamisticadeangelussilesius-3630986
Januário Esteves
 
ข้อสอบภาษาอังกฤษ Onet 54
ข้อสอบภาษาอังกฤษ Onet 54ข้อสอบภาษาอังกฤษ Onet 54
ข้อสอบภาษาอังกฤษ Onet 54melody_fai
 
Eu...
Eu...Eu...
ข้อสอบคณิตศาสตร์ Onet 54
ข้อสอบคณิตศาสตร์ Onet 54ข้อสอบคณิตศาสตร์ Onet 54
ข้อสอบคณิตศาสตร์ Onet 54melody_fai
 
Mood Board The Black Tulips
Mood Board   The Black TulipsMood Board   The Black Tulips
Mood Board The Black TulipsTheBlackTulips
 

Viewers also liked (20)

Editores e estado novo
Editores e estado novoEditores e estado novo
Editores e estado novo
 
Forze Equilibrio E Ph
Forze Equilibrio E PhForze Equilibrio E Ph
Forze Equilibrio E Ph
 
João lé
João léJoão lé
João lé
 
Pecha Kusha for Arjan 31082012 TP 1310PM
Pecha Kusha for Arjan 31082012 TP 1310PMPecha Kusha for Arjan 31082012 TP 1310PM
Pecha Kusha for Arjan 31082012 TP 1310PM
 
Direitos autorais
Direitos autoraisDireitos autorais
Direitos autorais
 
Formatos de audio
Formatos de audio Formatos de audio
Formatos de audio
 
Arte: tensão e impedância
Arte: tensão e impedânciaArte: tensão e impedância
Arte: tensão e impedância
 
Apresentação Emgoldex em Portugues 2014
Apresentação Emgoldex em Portugues 2014Apresentação Emgoldex em Portugues 2014
Apresentação Emgoldex em Portugues 2014
 
Presentatie
PresentatiePresentatie
Presentatie
 
Eu só penso em você
Eu só penso em vocêEu só penso em você
Eu só penso em você
 
Cidade dos anjos
Cidade dos anjosCidade dos anjos
Cidade dos anjos
 
Estrategias de atencion al cliente15
Estrategias de atencion al cliente15Estrategias de atencion al cliente15
Estrategias de atencion al cliente15
 
Udett 29 dic
Udett 29 dicUdett 29 dic
Udett 29 dic
 
364638 apresentação
364638 apresentação364638 apresentação
364638 apresentação
 
Dialnet o aprendizado-donaosabernamisticadeangelussilesius-3630986
Dialnet o aprendizado-donaosabernamisticadeangelussilesius-3630986Dialnet o aprendizado-donaosabernamisticadeangelussilesius-3630986
Dialnet o aprendizado-donaosabernamisticadeangelussilesius-3630986
 
ข้อสอบภาษาอังกฤษ Onet 54
ข้อสอบภาษาอังกฤษ Onet 54ข้อสอบภาษาอังกฤษ Onet 54
ข้อสอบภาษาอังกฤษ Onet 54
 
Eu...
Eu...Eu...
Eu...
 
ข้อสอบคณิตศาสตร์ Onet 54
ข้อสอบคณิตศาสตร์ Onet 54ข้อสอบคณิตศาสตร์ Onet 54
ข้อสอบคณิตศาสตร์ Onet 54
 
программа 5 класс
программа 5 класспрограмма 5 класс
программа 5 класс
 
Mood Board The Black Tulips
Mood Board   The Black TulipsMood Board   The Black Tulips
Mood Board The Black Tulips
 

Similar to Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry

Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4Enterprise flex pure mvc.v4
Enterprise flex pure mvc.v4
Sergiy Shychynov
 
Enterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russianEnterprise flex pure mvc, slides, russian
Enterprise flex pure mvc, slides, russian
Sergiy 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 2015
Alina Dolgikh
 
Middleware
MiddlewareMiddleware
Middleware
megakott
 
Конкурс для разработчиков от Evernote
Конкурс для разработчиков от EvernoteКонкурс для разработчиков от Evernote
Конкурс для разработчиков от Evernote
Evernote
 
Введение в Spring
Введение в SpringВведение в Spring
Введение в Spring
Unguryan Vitaliy
 
08-170327133157.pdf
08-170327133157.pdf08-170327133157.pdf
08-170327133157.pdf
ssuser0562f1
 
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDKПрограммируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Программируемость фабрики ACI. Объектная модель, REST API, ACI Python SDK
Cisco Russia
 
Андрей Завадский "Бессерверная архитектура"
 Андрей Завадский "Бессерверная архитектура" Андрей Завадский "Бессерверная архитектура"
Андрей Завадский "Бессерверная архитектура"
Fwdays
 
Лекция 4
Лекция 4Лекция 4
Лекция 4itc73
 
1_symfony_introduction.pptx
1_symfony_introduction.pptx1_symfony_introduction.pptx
1_symfony_introduction.pptx
rdninc
 
Mobile automation with Appium
Mobile automation with AppiumMobile automation with Appium
Mobile automation with Appium
OksanaBisyuk
 
Деплоймент и распространение обновлений для веб-приложений
Деплоймент и распространение обновлений для веб-приложенийДеплоймент и распространение обновлений для веб-приложений
Деплоймент и распространение обновлений для веб-приложений
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 2014
Artsofte IT company
 
Внедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проектВнедрение компонента templating в существующий проект
Внедрение компонента templating в существующий проект
Stanislaw Smetanin
 
Модульная структура
Модульная структураМодульная структура
Модульная структура
Denis Tsvettsih
 

Similar to Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry (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 в существующий проект
 
Модульная структура
Модульная структураМодульная структура
Модульная структура
 

Uafpug 8 Presentation Puremvc Papervision Gallery Kuriksha Dmitry

  • 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/