@jeka5700

MVC vs MVVM за чем будущее?

По вашему мнению, что наиболее популярно на данный момент шаблонах проектирования MVC и MVVM , и за чем будущее ?

Какие можете привести примеры по MVVM ? Я знаю только Silverlight
  • Вопрос задан
  • 4143 просмотра
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Будущее за теми, кто хотя бы умеет читать википедию.

Для справки, ни MVVM ни MVC не являются шаблонами проектирования. Это схема использования нескольких шаблонов проектирования. Основная идея оных - разделение логики на слои. MVC декларирует разделение на логику представления, бизнес логику и связывающие это все контроллеры. В MVVM же основная идея заключается в более удобном управлении представлением модели. Особенно в случае когда модель может меняться из слоя представления (из UI тобиш, датабиндинги и все такое).

p.s. Помимо MVC и MVVM существует масса других схожих схем, типа MVP, HMVC, PAC...
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
MVC vs MVVM
и за чем будущее ?
вот и я говорю: Зачем?!))

Делать нужно не по PR-"технологиям", а по структурным связям объектов при их взаимодействии в том или ином случае. А они - разные бывают.
Ответ написан
Комментировать
@vasIvas
Прежде чем получить ответ, Вам нужно понять,
что у всех людей mvc разное, точнее, разная реализация.

Возьму для примера логику 90% и Сергей Протько в том числе.
MVC декларирует разделение на логику представления, бизнес логику и связывающие это все контроллеры.

Следом идем в Model-View-Controller и читаем -
Наиболее типичная реализация отделяет вид от модели путем установления между ними протокола взаимодействия, используя аппарат событий (подписка/оповещение). При каждом изменении внутренних данных в модели она оповещает все зависящие от неё представления, и представление обновляется. Для этого используется шаблон «наблюдатель». При обработке реакции пользователя вид выбирает, в зависимости от нужной реакции, нужный контроллер, который обеспечит ту или иную связь с моделью. Для этого используется шаблон «стратегия», или вместо этого может быть модификация с использованием шаблона «команда». А для возможности однотипного обращения с подобъектами сложно-составного иерархического вида может использоваться шаблон «компоновщик». Кроме того, могут использоваться и другие шаблоны проектирования, например, «фабричный метод», который позволит задать по умолчанию тип контроллера для соответствующего вида.


Тут ясным языком сказано, что модель посылает события, а представление их ловит и изменяется. Можно было бы предположить, что контроллер является "наблюдателем", но нет. Контроллер, это отдельная структура данных, которая
в большинстве случаев заключает в себе некую, контрольскую логику, которая
убивает мысль о контроллере "наблюдателе", так как один объект не может делать больше одной обязанности.
Конечно можно эти слова натянуть к любой реализации, но чтобы до конца разобраться нужно открыть книгу GoF в которой написано -
6f447abd4303469d86a19e53a99d6716.png

Можно и это трактовать по разному, но дальше идет картинка и чугунно-бетонная точка -
525645c43f4c440b94e61c4b7309e22d.png

Ну а так же картинку с вики -
MVC-Process.png

Буду раз выслушать другие взгляды, но только с приведением ссылок на авторитетные источники, а не статьи смертных и тем более неправильные реализации framwork'ов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы