2013-05-03 3 views
0

Я знаю, как выглядит классический MVC, но меня попросили написать игру с использованием другого типа MVC. Я имею в виду примерно так: Draw which show my lecturermvc без вида - подключение контроллера

BQ LinkedBlockingQueue of Events. И я не знаю, как в этой ситуации модель может рассказать и контролировать, что его состояние изменилось? Моя проблема antoher с этим MVCis фактом, что Controller shoud принимает решение об исправлениях кнопки Clicked, но опять же, нет никакого соединения от представления к контроллеру. Это означает, что View должен внедрять ActionLister внутри него?

+0

Что вы подразумеваете под другим типом MVC? Имеет смысл сделать слушателя на виду, но вы должны обрабатывать логику (игру) в своем контроллере. – Drogba

+0

Логика игры в контроллере, а не в модели? Другой тип MVC - это то, что показывает картинку в ссылке (у меня меньше 10 повторений, поэтому мне пришлось поместить ее на imagineshack). –

+0

Вы не должны обрабатывать свою логику игры в модели (большую часть времени). Пожалуйста, прочитайте http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller – Drogba

ответ

0

Мне кажется, что на диаграмме показаны события, генерирующие представление, и размещение их в очереди. Контроллер считывает из очереди и обновляет модель/уведомляет представление соответственно. Для меня это все еще MVC.

+0

Hym ... Я все еще не понимаю, потому что он также сказал что-то вроде «идеи это вид висит на bq, и он уведомляет только, когда контроллер передает что-то делать в bq. ". И я до сих пор не знаю, как насчет связи между моделью и контроллером. Существует только одна стрелка - от контроллера к модели. Имо должна быть стрелка от модели к контроллеру. –

+0

Согласно приведенной диаграмме стрелки сообщают вам, кто знает о том, кто. Таким образом, представление имеет ссылку на BQ и может размещать на нем события. Контроллер имеет ссылку на BQ и может читать из него. Он также содержит ссылки на модель и представление, чтобы обновить их. Модель не знает о контроллере или представлении, поскольку она не действует на них. – Romski

+0

Итак, после каждого обновления модели я должен проверить, не изменилось ли его состояние? –

Смежные вопросы