Показать сообщение отдельно
Старый 20.07.2013, 15:57
Tails вне форума Посмотреть профиль Отправить личное сообщение для Tails Найти все сообщения от Tails
  № 6  
Ответить с цитированием
Tails
 
Аватар для Tails

блогер
Регистрация: Dec 2008
Адрес: г. Чебоксары
Сообщений: 2,259
Записей в блоге: 6
Модель это не просто хранилище данных, модель - это состояние программы, которое вполне может изменяться и самостоятельно (действие гравитации в игре, нанесение урона юнитам стоящим в огненной луже, изменение индексов на онлайн бирже)

Модель описывает всю логику программы, высылает уведомления при возникновении некоторых событий. Модель имеет интерфейс для чтения/внесения изменений в свой мирок. Модель ничего не знает ни про визуализатор, ни про контроллер.

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

Контроллер имеет ссылки на оба компонента. Он приостанавливает ход выполнения в модели, добавляет новых игроков на бирже, активирует дополнительные режимы. Контроллер слушает визуализатор на предмет действия пользователя, анализирует и принимает решения по изменению модели.

Имхо, на истину не претендую, так делаю сам.
__________________
Дети не должны знать о своих родителях


Последний раз редактировалось Tails; 20.07.2013 в 16:30.