Цитата:
|
А плохой код это когда у вас вью начинает считать логику, а контроллер подписывается на модель.
|
Так в MVP - вью не считает логику ни в коем случае, а контроллер не подписан на модель. Причем тут это? Разговор шел только про то, что при получении данных... ну вот даже пример. Контрол послал запрос на сервер о получении данных, получил - 5 данных нужны для модели ( по ним будет проход логики, рассчеты и т.п. в модели) а 1 переменная просто текстовая строка, которую надо отобразить в поле, в моделе ей делать НУ просто нечего! И вот тогда контроллер при получении даты дергает метод вью view.showHeader(e.vars) - в чем тут плоховизна кода и запутанность? Более насущный пример : чат в игре. Простой чат рассмотрим, просто текст, который надо обновить, опять же в моделе хранить его нечего, если не планируется с этим текстом ничего делать, а просто отобразить в поле. Опять же view.updateChat(e.vars) - пришедшие с сервера на on ( сообщение ) . Это не просто нормальная практика - она логична, чем записывать ненужную инфу в модель, подписываться видом на обновление этого свойства и делать 3йю связь( cotrl - model - view), вместо 1ой.
Добавлено через 3 минуты
То есть использование MVP на практике - это в некоторых случаях необходимость, данность. Уменьшает связи ( а мы за это болеем!) упрощает понимание. Понятное дело, что большая часть данных с сервера нужна в модели , но как я уже сказал меньшая часть там просто не нужна, но интерпретировать ее надо