Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.09.2009, 17:13
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 1  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
По умолчанию Несколько вопросов по PureMVC

Добрый день, начал делать проект с использованием PureMVC.
Остались непонятны некоторые моменты. Подскажите пожалуйста.

1) Вот есть там команды
Код AS3:
registerCommand(ApplicationFacade.CMD_STARTUP, StartupCommand);
Если сделаем так
Код AS3:
facade.sendNotification(ApplicationFacade.CMD_STARTUP, this);
StartupCommand выполнится
А если в каком-нить медиаторе на нее подписаться, то он ведь тоже отработает?
В таком случае не проще ли все сделать через команду, а не раскидывать все по медиаторам?
Код AS3:
(facade.retrieveMediator(SomeMediator.NAME) as SomeMediator).foo();
2) Еще... Есть оповещения ассоциированные с командами, а есть просто оповещения?
Код AS3:
public static const CMD_STARTUP:String = "startup"; //команда
public static const NOTE_SOME:String = "some"; //нотификация
Чего-то еще хотел спросить... забыл... потом напишу, как вспомню))
__________________
Стой! Опасная зона! Работа мозга!

Старый 18.09.2009, 14:00
2morrowMan вне форума Посмотреть профиль Отправить личное сообщение для 2morrowMan Найти все сообщения от 2morrowMan
  № 2  
Ответить с цитированием
2morrowMan
 
Аватар для 2morrowMan

Регистрация: Aug 2007
Сообщений: 467
Зачем так делать?
Если потом вы этот медиатор уберете/переименуете, тогда придется редактировать и команду. Вот такая вот зависимость у вас получиться, а PureMVC призван сводить такие зависимости к минимуму.
И вообще модель должна рассылать оповещение, что она готова к использованию и в медиаторах надо слушать это событие вместо startup.
__________________
Лучше быть умным и иногда делать глупости, чем глупым и постоянно умничать!

Старый 18.09.2009, 15:39
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 3  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
То есть из команд медиаторы лучше не трогать, а только менять модель? Медиаторы сами по себе слушают нотификации. Так?

> И вообще модель должна рассылать оповещение...
А представление на действия пользователя?
__________________
Стой! Опасная зона! Работа мозга!

Старый 21.09.2009, 11:40
2morrowMan вне форума Посмотреть профиль Отправить личное сообщение для 2morrowMan Найти все сообщения от 2morrowMan
  № 4  
Ответить с цитированием
2morrowMan
 
Аватар для 2morrowMan

Регистрация: Aug 2007
Сообщений: 467
Цитата:
Сообщение от marat_sa Посмотреть сообщение
То есть из команд медиаторы лучше не трогать, а только менять модель? Медиаторы сами по себе слушают нотификации. Так?
Медиаторы из команд можно трогать, только если это нужно, например, для создания/удаления медиатора.
Модель можно изменять только с помощью команд, а медиаторы как с помощью команд так и слушая оповещения.

Цитата:
Сообщение от marat_sa Посмотреть сообщение
А представление на действия пользователя?
Медиатор реагируют на события(Эвенты) от представление(элемент интерфейса) и делает нужное действие, определенное логикой вашего приложения: меняет представление без нужды изменения данных модели; рассылает оповещение, на которое может отреагировать контроллер и вызвать соответствующую команду, или на этоже оповещение может отреагировать другой медиатор.

Читайте Implementation Idioms & Best Practices.
__________________
Лучше быть умным и иногда делать глупости, чем глупым и постоянно умничать!

Старый 21.09.2009, 16:25
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 5  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
2morrowMan, спасибо за ответы))

> Читайте Implementation Idioms & Best Practices

Читал, но на теории все вроде бы понятно, а вот практических примеров очень мало в Best Practices( Вот и начинают вылазить вопросы при разработке конкретного приложения.
__________________
Стой! Опасная зона! Работа мозга!

Старый 27.10.2009, 14:09
terbooter вне форума Посмотреть профиль Отправить личное сообщение для terbooter Найти все сообщения от terbooter
  № 6  
Ответить с цитированием
terbooter

Регистрация: Oct 2006
Адрес: Novosibirsk-Kaliningrad
Сообщений: 1,278
Отправить сообщение для terbooter с помощью ICQ Отправить сообщение для terbooter с помощью Skype™
Код:
StartupCommand выполнится
А если в каком-нить медиаторе на нее подписаться, то он ведь тоже отработает?
В таком случае не проще ли все сделать через команду, а не раскидывать все по медиаторам?
В этом и есть смысл данного фреймворка.
Если вам не понятны преимущества, то зачем вы его изучаете?
=))

Старый 27.10.2009, 15:44
marat_sa вне форума Посмотреть профиль Отправить личное сообщение для marat_sa Посетить домашнюю страницу marat_sa Найти все сообщения от marat_sa
  № 7  
Ответить с цитированием
marat_sa
 
Аватар для marat_sa

Регистрация: Nov 2006
Сообщений: 487
Отправить сообщение для marat_sa с помощью ICQ Отправить сообщение для marat_sa с помощью Skype™
Заканчиваю проект на pureMVC. Чувствую себя кодогенератором =(
Если еще буду делать на нем проекты (что врядли) сразу возьму себе в помощь человек 5...

А так в целом неплохо.
__________________
Стой! Опасная зона! Работа мозга!

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:43.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.