1.Введение 2.Немного теории a.Концептуальная диаграмма b.Суть фреймворка c.Как это работает 3.Пример: IT Developers v1 4.Actionscript 3 [Multicore version] презентация

Содержание

Введение Немного теории Концептуальная диаграмма Суть фреймворка Как это работает Пример: IT Developers v1 Actionscript 3 [Multicore version] Pipes Util Пример : IT Developers v2 Ньюансы Немного о недостатках Выводы Меню:

Слайд 2Введение
Немного теории
Концептуальная диаграмма
Суть фреймворка
Как это работает
Пример: IT Developers v1
Actionscript 3 [Multicore

version]
Pipes Util
Пример : IT Developers v2
Ньюансы
Немного о недостатках
Выводы

Меню:


Слайд 3open-source фреймворк для создания приложений
базирующихся на мета-паттерне MVC – Model, View,
Controller
PureMVC


Слайд 4open-source фреймворк для создания приложений
базирующихся на мета-паттерне MVC – Model, View,
Controller

содержит

множество других паттернов внутри
себя: Façade, Mediator, Proxy, Command, etc.
имеет слабо связанную архитектуру
легко расширяем
хорошо задокументирован

PureMVC


Слайд 5планировался как фреймворк, независимый от
платформы и языка, хотя весь код в

документации
И примеры написаны на Actionscript 3, существуют
версии для AS2, Java, C#, PHP, etc.

PureMVC


Слайд 6планировался как фреймворк, независимый от
платформы и языка, хотя весь код в

документации
И примеры написаны на Actionscript 3, существуют
версии для AS2, Java, C#, PHP, etc.


не использует Actionscript Event Model
не использует Flex Libraries ( т.е. может
использоваться для Flash проектов )

PureMVC


Слайд 8
Façade, Model, View, Controller – 4 Singletons
(Singleton – только один экземпляр

объекта может быть создан)

Слайд 9
Façade – инициализирует и предоставляет прозрачный доступ для Model, View и

Сontroller.
Модель представляют прокси классы, Вид – медиаторы, Контроллер – команды. Медиаторы, прокси и комманды используют Façade для доступа к друг другу и взаимодествия.

Слайд 10
Элементы системы взаимодейтсвуют между собой с помощью - Notifications (используется Observer

паттерн)
Прокси могут посылать события, но не могут их слушать, медиаторы могут и посылать и слушать события, а комманды могут не только посылать события, но и вызываться событием.

Слайд 111. Проектирование, нужно четко разобраться в
приложении и сразу разграничивать роли и
логику

между моделью, видом и контроллером

2. Создание визуальных элементов – view components
пранировать как отдельный компонент, продумать
его API, создать ряд событий для отлавливания его
изменений

3. Создание сервисов для общения с сервером –
отсылки и получения данных, а также VO объектов

Как легко написать приложение на PureMVC


Слайд 124. Продумать какие основные действия будет
выполнять приложение – функциональность.
Как легко написать

приложение на PureMVC

Слайд 134. Продумать какие основные действия будет
выполнять приложение – функциональность.

... т.е все

как обычно – спроектировать, создать
визуальный мокап, сервисы (если есть общение с
сервером) и продумать, что будет делать приложение...

Как легко написать приложение на PureMVC


Слайд 144. Продумать какие основные действия будет
выполнять приложение – функциональность.

... т.е все

как обычно – спроектировать, создать
визуальный мокап, сервисы (если есть общение с
сервером) и продумать, что будет делать приложение...

А вот теперь взять в руки инструмент...

Как легко написать приложение на PureMVC


Слайд 15Создаем Façade для нашего приложения

extends PureMVC Façade and implements Ifacade interface
определяем

метод getInstance() который возвращает единственный экземпляр фасада
описываем имена для всех основных сообщений (notifications) приложения
инициализируем контроллер (перегружаем initializeController метод) и мапим события к коммандам
определяем метод startup который запускает приложение и обычно связан с коммандой StartupCommand
Инициализируем и вызываем startup в приложении (если во Flex, то обычно в creationComplete)

Слайд 16Все!


Слайд 17Все! ... Работает?


Слайд 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Модульные приложения

А что если ядер несколько?

Трубопровод, как выход из ситуации




Слайд 25public static function getInstance( key:String ):ApplicationFacade
{
if

(instanceMap[key] == null)
instanceMap[key] = new ApplicationFacade(key);
return instanceMap[key] as ApplicationFacade;
}

PureMVC Actionscript 3 Multicore
Использование мультитона вместо синглтона


Слайд 26PureMVC Actionscript 3 Multicore Pipes
Ну и собственно трубопровод


Слайд 27PureMVC Actionscript 3 Multicore Pipes
Вариант посложнее: система водоканалов


Слайд 28PureMVC Actionscript 3 Multicore Pipes

Существующее приложение
не нужно переделывать!



Слайд 29PureMVC Actionscript 3 Multicore Pipes

Существующее приложение
не нужно переделывать!

для приложения, а также

для каждого из модулей создается специальный соединяющий медиатор – Junction




Слайд 30PureMVC Actionscript 3 Multicore Pipes

Существующее приложение
не нужно переделывать!

для приложения, а также

для каждого из модулей создается специальный соединяющий медиатор – Junction

- для главного приложения создаются и регистрируются так называемые TeeSplit (для труб по которым идут сообщения от главного приложения) и TeeMerge ( для труб по которым идут сообщения от модулей к главному приложению)



Слайд 31PureMVC Actionscript 3 Multicore Pipes

Существующее приложение
не нужно переделывать!

для приложения, а также

для каждого из модулей создается специальный соединяющий медиатор – Junction

- для главного приложения создаются и регистрируются так называемые TeeSplit (для труб по которым идут сообщения от главного приложения) и TeeMerge ( для труб по которым идут сообщения от модулей к главному приложению)

- на соединители ставятся слушатели для входящих сообщений



Слайд 32PureMVC Actionscript 3 Multicore Pipes



Создаем Junction медиаторы для приложения и модулей,

которые будут соединяться трубами, одна труба для сообщений от модуля к приложению, одна – наоборот.


Слайд 33PureMVC Actionscript 3 Multicore Pipes



Создаем Junction медиаторы для приложения и модулей,

которые будут соединяться трубами, одна труба для сообщений от модуля к приложению, одна – наоборот.

Получатель должен иметь слушатель – pipe listener, для обработки входящих сообщений


Слайд 34PureMVC Actionscript 3 Multicore Pipes



Создаем Junction медиаторы для приложения и модулей,

которые будут соединяться трубами, одна труба для сообщений от модуля к приложению, одна – наоборот.

Получатель должен иметь слушатель – pipe listener, для обработки входящих сообщений

Для отправки сообщения используется метод sendMessage(), метод Junction медиатора, который посылает объекты типа Message

Слайд 35PureMVC Actionscript 3 Multicore Pipes



Создаем Junction медиаторы для приложения и модулей,

которые будут соединяться трубами, одна труба для сообщений от модуля к приложению, одна – наоборот.

Получатель должен иметь слушатель – pipe listener, для обработки входящих сообщений

Для отправки сообщения используется метод sendMessage(), метод Junction медиатора, который посылает объекты типа Message

После получение сообщения оно легко превращается в notification внутри принимающего приложения

Слайд 36Список литературы для прочтения

www.puremvc.org
+ представленная документация, примеры с исходным кодом, форум

http://www.joshuaostrom.com
http://www.websector.de/blog
http://www.nutrixinteractive.com/blog/
http://flash-ripper.com/


Слайд 37Спасибо за внимание!


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика