Flash Ripper RSS Readers

Архитектура и ключевые фигуры фреймворка PureMVC

Друзья, спасибо вам за интересные комментарии к медитации на PureMVC. Спасибо за увлекательную дискуссию с множеством ссылок, по которым мне ходить и ходить. Много думал, отвечу всем, а пока продолжаю запланированный рассказ.

Развернутая архитектура фреймворка PureMVC



Ключевые фигуры PureMVC

PureMVC — это реализация классического MVC для Flash-платформы, но у него есть изюминка. С нее и начнем поименное перечисление действующих лиц этого фреймворка:
  1. Façade. Фасад. Предоставляет участникам системы прозрачный взаимный доступ друг к другу. Синглтон.
  2. Mediator. Медиатор. Представляет свою часть интерфейса пользователя Фасаду, Командам, Заместителям и другим Медиаторам.
    Proxy. Заместитель. Представляет свои Данные Фасаду, Командам, Медиаторам и другим Заместителям.
  3. Command. Команда. Координирует взаимодействия Фасада, Медиаторов, Заместителей и других Команд.
  4. Notification. Сообщение.Элементарная единица внутреннего обмена информацией между Фасадом, Командами, Медиаторами и Заместителями. Камикадзе с посланием произвольного содержания, умирает сразу после доставки сообщения. Показаны голубыми стрелками.

Пограничные объекты (boundary objects) по отношению к MVC-ядру

  1. UI. ПИ. Пользовательский интерфейс, компоненты, формы etc. Взаимодействуют только с Медиаторами.
  2. Data objects. Данные. Объекты данных, включая удаленные. Взаимодействуют только с Заместителями.
  3. Events. События. События пользовательского интерфейса или данных. Камикадзе, доставляют посылки между ПИ и Медиаторами и между Данными и Заместителями. Показаны серыми стрелками.
Пограничные объекты—это внешние по отношению к фреймворку PureMVC элементы приложения и именно они есть причина его существования. Задача фреймворка — структурировать работу с ними, разделив код приложения на логические блоки.

Такова архитектура PureMVC в общих чертах.

Следующая часть: Фасад (Façade) — ядро и лицо фреймворка PureMVC.
Также почитать: Почитать о классическом Фасаде. Забыть.

Писал Rost, 25 Октябрь 2007 14:42

Найдены баги:

ништячог!

- 25 Октябрь 2007 15:50

Еще бы примерчег реализации посмотреть.

pazaal - 25 Октябрь 2007 16:45

Будут примеры. Как стандартные, так и пример из моего личного опыта. Буду выкладывать информацию порциями.

Рост - 25 Октябрь 2007 16:47

Чем-то Zend Framework напомнило. С его рутерами, диспетчерами. А вещь очент интересная. Ждём примеры, затаив дыхание

Pablo - 25 Октябрь 2007 18:06

достойно, ждем продолжения )

zz - 25 Октябрь 2007 18:20

Уже лучше, уже можно не только медитировать. Думаю, искрой будут, как раз, примеры использования. С нетерпением жду...
З.Ы.: Ещё я жду HL2Ep3, Star Craft 2, ужина, понедельника.

a_[w] - 25 Октябрь 2007 19:17

А у меня сложилось впечатление, что MVC приводит просто к тому, что из одного класса получается три. И фиг поймёшь, как что откуда вызывается.

Dan - 29 Октябрь 2007 10:20

А почему маленькие и большие акруги связаны только у фасада, а у остальных нет?
И выложите пример хотя-бы части стуктуры

OX - 2 Ноябрь 2007 18:29

>>А почему маленькие и большие акруги связаны только у фасада, а у остальных нет?
>>И выложите пример хотя-бы части стуктуры

OX™, спасибо за хороший вопрос. Обратите внимание, что три "Остальных" круга представлены более тусклыми - так как по сути, эти элементы спрятаны за фасадом. Вы навели меня на мысли, что нужно сделать круг Фасада значительно ярче, и вообще более неглядно показать его роль.

Уточните, какой пример вам нужен: в виде исходного кода или что-то другое?

Рост - 2 Ноябрь 2007 18:42

Желательно исходный код, скажем -- небольшая форма с несколькими полями, кнопками, эмуляция запроса к серверу, получение ответа, предоставление результата. Что то вроде примера к Cairngorm http://www.cairngormdocs.org/exampleApps/CairngormDiagram/index.html, можно тогда сравнивать по удобству проектирования, скорости реализации, по быстродействию реакции интерфейса :) видимо не стоит, хотя, почему бы и нет ;)

chrm - 2 Ноябрь 2007 20:25



Это запись из категории 'PureMVC'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)