Цитата:
Например морковка должна подсвечиватся, если ее можно сорвать и не подсвечиваться, если нельзя - следить за действиями вроде не обязанность модели.
Или более сложный пример - выбираем место для посадки, таская морковку по всему полю - нам что, при этом модель менять? А если еще какая сложная подсветка ячеек при этом понадобится?
|
Подсветка ячейки - это ведь чисто вьюшная реакция, она не запускает какую-то логику в контроллере, меняющую модель. Юзер берет морковку, контроллер прописывает в модель состояние "выбор места для посадки", вью ловит изменение модели и "отображает" его, вешая на MouseOver метод подсветки.
Но тут уже вопрос, как разнести все это дело. Подсветка ячейки - это по сути тоже поведение, которое зависит от глобального состояния и выбранного инструмента, но только поведение вьюшки а не контроллера. При таком раскладе можно придти к вынесению каждого инструмента в отдельный класс, в котором будет содержаться логика для контроллера и для вью, хотя это уже выглядит странновато.