Тема: MVC - эвенты
Показать сообщение отдельно
Старый 02.06.2017, 11:41
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Мне кажется тут что-то неправильно. Из вью ничего не передается контроллеру, только уведомление, что была нажата та или иная кнопка, собственно смысл реализовать TouchEvent внутри вью?
А кто мешает передавать ? передавай.

Вообще особо мудрить не стоит. Если приложение базируется на 1 контролле, то контролл делает только 2 действия - пинает сервер и записывает в модель. Вью работает и живет по своим законам, каким вам надо, главное чтоб не было ссылок на контрол, а на модель только на чтение ( хотя запись тоже доступна, но делать так незя).

Вот просто пример : жму кнопку на клаве, жопустим Интер - после чего, товарищ Якубович должен будет открыть нам слово. Что происходит : globalView -> hudView отслеживает нажатие клавиши, если никаких доп вещей в globalView не будет происходить, то через bubbles сразу отправляем событие в контролл. В контролле - вызов серверного метода, сервер отвечает, - получаем данные, открыта буква Д. Пихаем эти данные в модель, в самой же моделе идет проверка, если Д это последняя буква слова, то слово готово ну или типа того, не суть, вообщем работает логика. Соответсвенно модель после отработки логики - посылает событие во вью, где новые данные отображаются на экране, ЛИБО!!!!! - это может сделать контроллер!!! К примеру :

Код AS3:
in Controll
_model.setData(serverSideData);
_view.update(someDiffrentDataNotOfModel)
----------
public function update(d:data):void  
{     trace(_model.newData)
      trace( d) 
}
__________________
Марк Tween