@i_v

Паттерн MVC — Как view получить данные от «чужой» модели?

Друзья, внутри одного приложения существуют разные модели и соответствующие им представления. Допустим обычно view A получает данные модели А. В то же время view B отображает модель B. И вдруг, представим себе такую ситуацию, view B стало необходимо зависеть от состояния модели А. Как это лучше и красивее реализовать? Модели A и B - это отдельные классы. View'шки подписаны на обновления этих моделей через систему событий (наблюдатель).
Пример - игра, в которой игрок должен выполнять различные задания. Модель А содержит все данные о состоянии игрока - Имя, Баланс в игровой валюте, Очки, Список друзей и т.п. Некоторый набор view (view A) представляет эти данные на экране - прогресс бары здоровья и денег, лист с друзьями, аватар и т.п. В свою очередь каждое задание имеет собственную модель (модели B, C, D и т.д), инкапсулирующую бизнес-логику этого конкретного задания. View B, C, D отображают данные соответствующих моделей.
И вдруг view A стало нужно отобразить данные из модели B - как это сделать?
  • Вопрос задан
  • 344 просмотра
Пригласить эксперта
Ответы на вопрос 1
@i_v Автор вопроса
Спасибо, а если вью создает внешний код, а не сам контроллер. Как это технически делается? При инициализации передается несколько моделей? А не противоречит это идее mvc?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы