Паттерн 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 - как это сделать?
Спасибо, а если вью создает внешний код, а не сам контроллер. Как это технически делается? При инициализации передается несколько моделей? А не противоречит это идее mvc?