Показать сообщение отдельно
Старый 26.03.2011, 17:51
Gaen вне форума Посмотреть профиль Отправить личное сообщение для Gaen Найти все сообщения от Gaen
  № 6  
Ответить с цитированием
Gaen
strange mood
 
Аватар для Gaen

модератор форума
Регистрация: Jul 2004
Адрес: Питер
Сообщений: 1,653
Записей в блоге: 1
Отправить сообщение для Gaen с помощью ICQ Отправить сообщение для Gaen с помощью Skype™
Цитата:
Например морковка должна подсвечиватся, если ее можно сорвать и не подсвечиваться, если нельзя - следить за действиями вроде не обязанность модели.
Или более сложный пример - выбираем место для посадки, таская морковку по всему полю - нам что, при этом модель менять? А если еще какая сложная подсветка ячеек при этом понадобится?
Подсветка ячейки - это ведь чисто вьюшная реакция, она не запускает какую-то логику в контроллере, меняющую модель. Юзер берет морковку, контроллер прописывает в модель состояние "выбор места для посадки", вью ловит изменение модели и "отображает" его, вешая на MouseOver метод подсветки.

Но тут уже вопрос, как разнести все это дело. Подсветка ячейки - это по сути тоже поведение, которое зависит от глобального состояния и выбранного инструмента, но только поведение вьюшки а не контроллера. При таком раскладе можно придти к вынесению каждого инструмента в отдельный класс, в котором будет содержаться логика для контроллера и для вью, хотя это уже выглядит странновато.
__________________
тонкий тролль, осеянный благодатью