Показать сообщение отдельно
Старый 27.02.2018, 22:10
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 52  
Ответить с цитированием
in4core
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
И кстати, вот интересный момент : у тебя есть свитчер + -. Когда жмется +, счетчик меняется на ++, минус на -- соответсвенно, и это записывается текстовое поле. Кроме того это значение важно и другим вьюхам, по нему они определяют что делать далее. Тоесть значение счетчика, это переменная модели, глобальной допустим. Все вьюхи подписаны на модель и жаждут изменения счетчика, чтобы делать свои дела.
И вот смотрим : жму я +, по парадигме я должен отправить ивент в контроллер из вью, контроллер доложен дернуть модель, модель должна записать данные - а затем и разослать всем. Это на какой то пук кнопки. А вот если я отойду в неком приложении от этой идеи, и лишь в этом месте дерну модель напрямую как model.plus() - я выходит сразу стану балдой и балбесом, и это нифига не МВС, когда все остальное написано без таких вот изварщений?
С другой стороны - мы можем сказать, что значение счетчика может быть не переменной модели, а переменной вью, и тогда вопрос снимается, ты из вьюХ баблишь в главный, а он там всем вьюхам рассылает апдейт, но в этом случае у тебя уже вью работает как модель. Тут тонкая грань - какие процессы будут идти в моделе, а какие во вью...

Добавлено через 2 минуты
Цитата:
А вот у меня такой вопрос возник. Если например во вьюхе, нужно кликнуть на способность, куда записывать идентификатор этой способности? Чтобы по нажатию кнопки(например "Изучить"), последующий запрос на сервер отправился с этим id. Понятно, что вью не изменяет модель, поэтому модель способности(а именно записать туда кликнутный идентификатор) можно обновить только через контроллер. Что вообще должно отвечать, за запись такого рода вещей?
Клик - это внутреВьюшная фишка. Если приложение реально серьезное, то в этом случае ты должен отправить событие Event.LEARN, id в контроллер, который либо запишет это в модель, если твоя модель есть ядро, а если ядро это сервер, то отдаст на сервер. А уже сервер потом тебе скажет куда тебе идти и что тебе делать, после эьтго клика
__________________
Марк Tween