В MVC модель содержит данные и логику домена, представление отображает информацию для пользователя и предлагает виджеты для взаимодействия, такие как кнопки, и контроллер обрабатывает ввод, как нажатия кнопок.
Но к чему относится состояние представления?
Например, если у вас есть игра в шахматы, вы можете отслеживать, какая фигура выбрана и какие поля выделены (возможно, вы хотите выделить возможные ходы).
Я читал о презентационной модели http://martinfowler.com/eaaDev/PresentationModel.html, которая является одним из способов сделать это.
Я могу придумать другие способы сделать это:
- с использованием второй модели, которая сохраняет только выделенные участки и выделения
- вывод этой информации в представление (но тогда у нас есть какая-то логика в GUI)
- положить его в контроллер (но тогда нам нужно вручную синхронизировать представление с состоянием контроллера)
- обертывание модели предметной области (или наследование от нее) и добавление выделения и выделений к другим данным (в некоторой степени это модель представления)
Но каков "нормальный" способ сделать это в mvc (если есть такая вещь, как нормальный способ), или какой способ вы используете или рекомендуете?