Akopalipsis, суть не в том диспатчит модель или нет и кому

Суть в том что она командует.
Цитата:
М->C: Дать виду спрайт дуба.
М->С: Отображаем дуб в виде.
М->С: Выдать в виде сообщение об ошибке.
|
Такого быть не должно.
Представьте себе что модель одна. Нет ни контроллера ни вида. Она создает мир, деревья в нем, животных, людей. Последние живут своей жизнью. Но графического представления этому нет, только логика. Все что делает модель это диспатчит изменения внутри себя, вникуда просто диспатчит. >Вырасло такое-то дерево. >Родился такой-то человек. >Тот пошел туда-то.
Модель у нас есть.
Внезапно трах тибидох появляется вид, начинает ловить события модели и их отображать. По своему как умеет. Люди кружочки. Деревья палочки. Если в модели кто-то родился. то появляется новый кружок и т.п.
Вот есть у нас и вид.
Потом приходит юзер. И он хочет как-то влиять на эти самые кружочки и палочки, ему нужно это щупать и изменять прямо в виде, неудобно же в модели, да и х.з. как. И чтобы все это связать, чтобы и вид и модель работали по отдельности, но могли оповещать друг друга появляется контроллер. Он слушает модель и передает в вид что там поменялось, а вид по свойски отображает. А так же он слушает чего там хочет наш юзер, что он щупает. И дергает модель за ниточки чтобы та обрабатывала запросы юзера.
Это и будет MVC.
То есть если вид заменить другим более навороченным, то от этого ничего не поменяется в модели. И наоборот, если вид станет хуже, то опять же модели по барабану. Будет он там людей показывать видом сверху или с головой марсиан=)