🗊PureMVС в картинках - для ленивых – Ростислав Сирык http://flash-ripper.com/

Категория: Авто/мото
Нажмите для полного просмотра!
PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №1PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №2PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №3PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №4PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №5PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №6PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №7PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №8PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №9PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №10PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №11PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №12PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №13PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №14PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №15PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №16PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №17PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №18PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №19PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №20PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №21PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №22PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №23PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №24PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №25PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №26PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №27PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №28PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №29PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №30PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №31PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №32PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №33PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №34PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №35PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №36PureMVС в картинках  - для ленивых –  Ростислав Сирык http://flash-ripper.com/, слайд №37

Содержание

Вы можете ознакомиться и скачать PureMVС в картинках - для ленивых – Ростислав Сирык http://flash-ripper.com/. Презентация содержит 37 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





PureMVС в картинках
- для ленивых –

Ростислав Сирык
http://flash-ripper.com/
Описание слайда:
PureMVС в картинках - для ленивых – Ростислав Сирык http://flash-ripper.com/

Слайд 2





Способы разработки приложений
Хотелось бы:
«Раз!» - «работка»

Есть:
«Раз!» - «…а получилось как обычно»

Должно быть: 
1. Раз-Ра-Бот-Ка 
(«по-э-тап-но»)
Описание слайда:
Способы разработки приложений Хотелось бы: «Раз!» - «работка» Есть: «Раз!» - «…а получилось как обычно» Должно быть: 1. Раз-Ра-Бот-Ка («по-э-тап-но»)

Слайд 3





PureMVC для ленивых
Вопрос: Зачем нужен PureMVC?
Ответ: Для экономии лени.
Лень – это друг человека.
Количество лени во Вселенной ограничено и  неизменно ;-(
Лень не берется из ниоткуда не исчезает в никуда.
Слишком умные отбирают лень у просто умных
PureMVC — оружие «слишком» умных.
Описание слайда:
PureMVC для ленивых Вопрос: Зачем нужен PureMVC? Ответ: Для экономии лени. Лень – это друг человека. Количество лени во Вселенной ограничено и неизменно ;-( Лень не берется из ниоткуда не исчезает в никуда. Слишком умные отбирают лень у просто умных PureMVC — оружие «слишком» умных.

Слайд 4





Векторная карта Москвы
- пример PureMVC-приложения -
Описание слайда:
Векторная карта Москвы - пример PureMVC-приложения -

Слайд 5





Векторная карта как дерево
На вид двумерная, но внутри четыре измерения
Описание слайда:
Векторная карта как дерево На вид двумерная, но внутри четыре измерения

Слайд 6





Общий вид карты
Описание слайда:
Общий вид карты

Слайд 7





Работа карты с браузером
Описание слайда:
Работа карты с браузером

Слайд 8





Требования к карте
Карта Москвы с точностью до метра
9 уровней масштаба
Гибкая настройка стиля и поведения
Инструменты карты
«Чтобы работала лучше Mos2.ru»
Рабочая версия http://217.10.32.73:8080/map/
Описание слайда:
Требования к карте Карта Москвы с точностью до метра 9 уровней масштаба Гибкая настройка стиля и поведения Инструменты карты «Чтобы работала лучше Mos2.ru» Рабочая версия http://217.10.32.73:8080/map/

Слайд 9





- рефакторинг -
Описание слайда:
- рефакторинг -

Слайд 10





Если вы попали в серьезную переделку

	Рефакторинг или Реорганизация — процесс полного или частичного преобразования внутренней структуры программы при сохранении её внешнего поведения.
http://ru.wikipedia.org/wiki/Рефакторинг
Описание слайда:
Если вы попали в серьезную переделку Рефакторинг или Реорганизация — процесс полного или частичного преобразования внутренней структуры программы при сохранении её внешнего поведения. http://ru.wikipedia.org/wiki/Рефакторинг

Слайд 11





Подходы к рефакторингу
Наивный (нет подхода): 
как-нибудь да получится («какой-какой «рефакторинг?»)
Самоуверенный: 
вера в идеальный код, не нуждающийся в переделке
Эгоистичный:
пусть рефакторит компьютер, он железный
Осознанный: 
делаем с учетом будущего, придерживаемся правил
Стратегический: 
применение паттернов, проектирование, фреймворки.
Описание слайда:
Подходы к рефакторингу Наивный (нет подхода): как-нибудь да получится («какой-какой «рефакторинг?») Самоуверенный: вера в идеальный код, не нуждающийся в переделке Эгоистичный: пусть рефакторит компьютер, он железный Осознанный: делаем с учетом будущего, придерживаемся правил Стратегический: применение паттернов, проектирование, фреймворки.

Слайд 12





Методы рефакторинга
Изменение сигнатуры метода
Заключается в добавлении, изменении или удалении параметра метода.

Инкапсуляция поля
Было: public var x: Number;
Стало: private var _x: Number; // добавляется getter-setter

Выделение метода
Самокомментирующийся код: если фрагмент кода требует комментария, то его следует выделить в отдельный метод и назвать так, чтобы данный комментарий стал ненужным.

Перемещение метода 
Перемещается метод, который чаще обращается к другому классу, чем к своему собственному.
Описание слайда:
Методы рефакторинга Изменение сигнатуры метода Заключается в добавлении, изменении или удалении параметра метода. Инкапсуляция поля Было: public var x: Number; Стало: private var _x: Number; // добавляется getter-setter Выделение метода Самокомментирующийся код: если фрагмент кода требует комментария, то его следует выделить в отдельный метод и назвать так, чтобы данный комментарий стал ненужным. Перемещение метода Перемещается метод, который чаще обращается к другому классу, чем к своему собственному.

Слайд 13





Проблемы от рефакторинга
Проблемы, связанные с базами данных
Проблемы изменения интерфейсов
Трудности при изменении дизайна
Описание слайда:
Проблемы от рефакторинга Проблемы, связанные с базами данных Проблемы изменения интерфейсов Трудности при изменении дизайна

Слайд 14





PureMVC
- и паттерны проектирования -
Описание слайда:
PureMVC - и паттерны проектирования -

Слайд 15





Что такое PureMVC
PureMVC - это классический мета-паттерн «Model-View-Controller»
Proxies = Модель
Mediator = Представление
Commands = Контроллер
+ Notifications (Оповещения) для коммуникации.
+ Façade (Фасад) для координирования
Описание слайда:
Что такое PureMVC PureMVC - это классический мета-паттерн «Model-View-Controller» Proxies = Модель Mediator = Представление Commands = Контроллер + Notifications (Оповещения) для коммуникации. + Façade (Фасад) для координирования

Слайд 16





Шутка про k=3
Математик идет по улице.
Видит — филармония, афиша, "Камерный оркестр Джо Пауэлла".
О, говорит, интересно, зайду.
Через полчаса растроенный выходит: "Тьфу, тривиальный случай, k=3"
Математик что-то знал (Паттерны?).
Описание слайда:
Шутка про k=3 Математик идет по улице. Видит — филармония, афиша, "Камерный оркестр Джо Пауэлла". О, говорит, интересно, зайду. Через полчаса растроенный выходит: "Тьфу, тривиальный случай, k=3" Математик что-то знал (Паттерны?).

Слайд 17





Схема PureMVC
Описание слайда:
Схема PureMVC

Слайд 18





Схема PureMVC (0xffffff)
Описание слайда:
Схема PureMVC (0xffffff)

Слайд 19





Что дает PureMVC
Дисциплина разработки
Общий язык для архитекторов
Более устойчивый к рефакторингу проект
Описание слайда:
Что дает PureMVC Дисциплина разработки Общий язык для архитекторов Более устойчивый к рефакторингу проект

Слайд 20





Структура PureMVC
Фасад: 
Показать все, что скрыто.
Медиатор: 
Скрыть все, что видно.
Посредник: 
Отдать то, что взято.
Команда: 
Сделать, когда нужно.
Оповещение:
Сделаю все, что скажут.
Пойду туда, куда пошлют.
Принесу то, не знаю что.
Описание слайда:
Структура PureMVC Фасад: Показать все, что скрыто. Медиатор: Скрыть все, что видно. Посредник: Отдать то, что взято. Команда: Сделать, когда нужно. Оповещение: Сделаю все, что скажут. Пойду туда, куда пошлют. Принесу то, не знаю что.

Слайд 21





Популярность PureMVC
AS2 
Java
AS3 Standard 
AS3 MultiCore 
ColdFusion
Описание слайда:
Популярность PureMVC AS2 Java AS3 Standard AS3 MultiCore ColdFusion

Слайд 22





Мы хотим знать разницу
PureMVC or Cairngorm?

>> Интересует Ваше мнение по этим библиотекам 
>> и вообще по паттерным решениям для Flex.

Без сомнения и то и другое полезно. Но если бы еще авторы их уделяли достаточно внимания "расжевыванию" своих замыслов реализованных во фреймворке. 

Качественное "расжевывание" - это когда даже студенту-программисту незнакомому с паттернами  будет ясно что к чему. Потому что когда специалист не может оценить риски по миграции - это уже либо бестолковое описание, либо "особая форма маркетинга" (сокрытие информации о недостатках продукта) ИМХО. 

[http://groups.google.com/group/fpug/browse_thread/thread/3770e9c4a296dad9]
Описание слайда:
Мы хотим знать разницу PureMVC or Cairngorm? >> Интересует Ваше мнение по этим библиотекам >> и вообще по паттерным решениям для Flex. Без сомнения и то и другое полезно. Но если бы еще авторы их уделяли достаточно внимания "расжевыванию" своих замыслов реализованных во фреймворке. Качественное "расжевывание" - это когда даже студенту-программисту незнакомому с паттернами  будет ясно что к чему. Потому что когда специалист не может оценить риски по миграции - это уже либо бестолковое описание, либо "особая форма маркетинга" (сокрытие информации о недостатках продукта) ИМХО. [http://groups.google.com/group/fpug/browse_thread/thread/3770e9c4a296dad9]

Слайд 23





Изучение PureMVC
Описание слайда:
Изучение PureMVC

Слайд 24





Статьи о PureMVC на русском
10 советов по PureMVC
Что мы знаем о flash/flex фреймуорках? 
Пример Flash-галереи на PureMVC
Как создать простой FLV-плеер во Flex и Flash, используя PureMVC


Мои статьи
-= Чисто MVC =- (тут важны комменты)
Архитектура и ключевые фигуры фреймворка PureMVC
Фасад (Façade) — ядро и лицо фреймворка PureMVC
Как устроены Модель, Вид и Управление во фреймворке PureMVC 
Кто использует Cairngorm?
Обновления по статьям, новые ссылки: 
http://flash-ripper.com/archives/002194.php
Описание слайда:
Статьи о PureMVC на русском 10 советов по PureMVC Что мы знаем о flash/flex фреймуорках? Пример Flash-галереи на PureMVC Как создать простой FLV-плеер во Flex и Flash, используя PureMVC Мои статьи -= Чисто MVC =- (тут важны комменты) Архитектура и ключевые фигуры фреймворка PureMVC Фасад (Façade) — ядро и лицо фреймворка PureMVC Как устроены Модель, Вид и Управление во фреймворке PureMVC Кто использует Cairngorm? Обновления по статьям, новые ссылки: http://flash-ripper.com/archives/002194.php

Слайд 25





Развитие PureMVC: Мультитон
Multiton  вместо Singleton
http://en.wikipedia.org/wiki/Multiton_pattern
Мультитон – паттерн, подобный Синглтону, позволяющий создание более одного экземпляра класса.
Вместо Одиночки – группа Одиночек, доступных по ключам (экземпляров). 
Клиенты не могут добавлять ключи.
Никогда не возвращает пустую ссылку.
Польза: упрощение работы с общими ресурсами в приложении (shared objects).
Централизованный доступ к хранилищу.
Описание слайда:
Развитие PureMVC: Мультитон Multiton вместо Singleton http://en.wikipedia.org/wiki/Multiton_pattern Мультитон – паттерн, подобный Синглтону, позволяющий создание более одного экземпляра класса. Вместо Одиночки – группа Одиночек, доступных по ключам (экземпляров). Клиенты не могут добавлять ключи. Никогда не возвращает пустую ссылку. Польза: упрощение работы с общими ресурсами в приложении (shared objects). Централизованный доступ к хранилищу.

Слайд 26





Пример использования PureMVC
- в приложении карты -
Описание слайда:
Пример использования PureMVC - в приложении карты -

Слайд 27





Обновление карты-1: Вид
Класс MapView (boundary)
package view 
{
	public class MapView extends Sprite
	{
		private function updateMap():void
		{
			mapMediator.onBBoxChanged(layersToLoad);			
		}
	}
}
Описание слайда:
Обновление карты-1: Вид Класс MapView (boundary) package view { public class MapView extends Sprite { private function updateMap():void { mapMediator.onBBoxChanged(layersToLoad); } } }

Слайд 28





Обновление карты-2: Медиатор
Класс MapMediator 
package view 
{
	public class MapMediator extends Mediator
	{
		internal function onBBoxChanged(layersToLoad: Array): void
		{
			var noteBBoxUpdate: Notification = new Notification(ApplicatonFacade.NOTE_BBOX_UPDATE);
			noteBBoxUpdate.setBody(layersToLoad);
			facade.notifyObservers(noteBBoxUpdate);
		}
	}
}
Описание слайда:
Обновление карты-2: Медиатор Класс MapMediator package view { public class MapMediator extends Mediator { internal function onBBoxChanged(layersToLoad: Array): void { var noteBBoxUpdate: Notification = new Notification(ApplicatonFacade.NOTE_BBOX_UPDATE); noteBBoxUpdate.setBody(layersToLoad); facade.notifyObservers(noteBBoxUpdate); } } }

Слайд 29





Обновление карты-3: Фасад
Класс ApplicationFacade
package
{
	public class ApplicatonFacade extends Facade implements IFacade 
	{
		public static const NOTE_BBOX_UPDATE: String= "noteBBoxUpdate";
		// Commands registration
		override protected function initializeController(): void
		{
		super.initializeController();
		
		// Layer Model.updatePatchesInRectangle
		registerCommand(NOTE_BBOX_UPDATE, UpdateBBoxCommand); 
	}
}
}
Описание слайда:
Обновление карты-3: Фасад Класс ApplicationFacade package { public class ApplicatonFacade extends Facade implements IFacade { public static const NOTE_BBOX_UPDATE: String= "noteBBoxUpdate"; // Commands registration override protected function initializeController(): void { super.initializeController(); // Layer Model.updatePatchesInRectangle registerCommand(NOTE_BBOX_UPDATE, UpdateBBoxCommand); } } }

Слайд 30





Обновление карты-4: Команда
Класс UpdateBBoxCommand
package controller 
{
	public class UpdateBBoxCommand extends SimpleCommand 
	{
		override public function execute(note: INotification): void
		{
			 ApplicatonFacade.msProxy.updateMap(note.getBody() as Array);
		}
	}
}
Описание слайда:
Обновление карты-4: Команда Класс UpdateBBoxCommand package controller { public class UpdateBBoxCommand extends SimpleCommand { override public function execute(note: INotification): void { ApplicatonFacade.msProxy.updateMap(note.getBody() as Array); } } }

Слайд 31





Обновление карты-5: Прокси
Класс MapServerProxy
package model 
{
	public class MapServerProxy extends Proxy
	{
		public function updateMap (layersToLoad:Array):void
		{
			mapModel.loadLayers(layersToLoad);
		}
	}
}
Описание слайда:
Обновление карты-5: Прокси Класс MapServerProxy package model { public class MapServerProxy extends Proxy { public function updateMap (layersToLoad:Array):void { mapModel.loadLayers(layersToLoad); } } }

Слайд 32





Обновление карты-6: Модель
Класс MapModel
package model 
{
	internal class MapModel
	{
		internal function loadLayers (arrLayersToLoad:Array):void
		{	
			// собственно загрузка данных
		}
	}
}
Описание слайда:
Обновление карты-6: Модель Класс MapModel package model { internal class MapModel { internal function loadLayers (arrLayersToLoad:Array):void { // собственно загрузка данных } } }

Слайд 33





PureMVC спешит на помощь
Рефакторинг 1: Смена источника данных с Geo XML на AMF
Описание слайда:
PureMVC спешит на помощь Рефакторинг 1: Смена источника данных с Geo XML на AMF

Слайд 34





PureMVC помогает еще раз
Рефакторинг 2. Древовидный рендеринг карты.
Смена сигнатуры метода
Было: private function renderGeoEntity(data: FlashGeoEntity): void
Стало: 
private function renderGeoEntity(): void // после initGeoEntity
Переход от Спрайтов к Шейпам
Откат на Спрайты☻
Описание слайда:
PureMVC помогает еще раз Рефакторинг 2. Древовидный рендеринг карты. Смена сигнатуры метода Было: private function renderGeoEntity(data: FlashGeoEntity): void Стало: private function renderGeoEntity(): void // после initGeoEntity Переход от Спрайтов к Шейпам Откат на Спрайты☻

Слайд 35





5 советов по PureMVC
Описание слайда:
5 советов по PureMVC

Слайд 36





Почему проект выжил
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Благодаря разделению кода с самого начала
Описание слайда:
Почему проект выжил Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала Благодаря разделению кода с самого начала

Слайд 37





Q & A
Описание слайда:
Q & A



Похожие презентации
Mypresentation.ru
Загрузить презентацию