Цитата:
|
Поверьте мне, есть такие.
|
Ну есть всякие, разговор идет про адекватных людей. Хотя было дело и я поначалу когда не понимал сути - грешил , но это уже не мвс - а все что угодно другое.
Цитата:
Это у Вас представление контроллер просит и это естественно, но как быть если модели нужно что-то?
Она же не должна контроллеру говорит?
|
С моедлью работает контроллер. Вот нажал ты на кнопку в представлении ( проще говорить в ВИДЕ ), отправил событие в контроллер BTN_PUSH контроллер поймал его и записал все что нужно в модель. Но это крайний случай, чаще всего все происходит на уровне сервера-контроллер-модели, а вид изредка подкидывает запросы контроллеру на дергание сервера - вот и все.
Цитата:
|
обновляем представление как? Ответ-то для модели пришел, да и то мы еще не поняли, как она его туда отправила?
|
Шо значит КАК! У нас для этого сразу 2 схемы, как я выше сказал МВС-и МВП. По первой - вид подписался на модель и ждет изменния данных, то есть пришли данные с сервера, контроллер пихнул их в модель, можель отправило событие, вид его поймал и отобразил как надо. ВИД имеет ссылку на модель, НО дергать ее сам не должен
МВП - это когда напрямую, минуя модель - сервер дал, контроллер вызвал метод вида или записал ему какую то переменную.
Добавлено через 2 минуты
Да и честно говоря по большей части достаточно МВП, то есть безмодельные структуры. Модель можно бывает заменить неким Конфигом, или еще чем с этим связанным. Хотя я и пользую смешанную структуру, но 80% работы все таки идет по МВП, в средне нагруженных приложениях, как по мне
Добавлено через 6 минут
Раз уж распиался приведу более наглядный пример смешанной стурктуры. Допустим у тебя есть игра, в которой нет транзакционной модели ( не работаешь с деньгами ) , но баланс показать на экране надо. Ты его запросил с сервера - и сразу кинул в вид, минуя модель. Ну не нужно тебе его хранить, так как работать ты с ним не будешь никогда. В то же время в самой игре, ты изредка меняешь какие то параметры, например скорость движения машинки или еще чего, вот тут надо писать в модель, так как из за одного изменения, может поменяться несколько видов, напримр.
Так же это поможет от лишних запросов. Имея данные - ты можешь произвести проверку if(model.speed == 1) return, else sendNewSpeed, то есть не будешь лишний раз грузить проц ненужными телодвижениями.
Короче - все придет с опытом. Пробуй писать и все наладится)))