Бесплатно скачать Adobe Flash Player

Архитектура и ключевые фигуры фреймворка 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



Подписаться на новости (RSS)




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