Задать вопрос
Ответы пользователя по тегу Паттерны проектирования
  • Чем все-таки отличается MVC от MVP?

    @GLeBaTi
    Разница между подходами в том, каким образом связываются команды пользователи и обработчики.

    MVC - когда пользователь дает команды не View, а контроллеру (т.е. View не имеет как-таковой логики)
    (пример=ASPX: статическая html страница - это View, а http-запросы идут в контроллер (на сервере))

    MVP - когда пользователь взаимодействует с View, а View взаимодействует с Presenter-ом напрямую.
    (пример=winForms: форма - это View, при нажатии кнопки вызывается код из Form.cs(Presenter)

    MVVM - когда пользователь взаимодействует с View, а View через биндинги взаимодействует с VM
    (пример=WPF: форма - это View. при нажатии кнопки взаимодействие с кодом происходит через биндинги)

    По крайней мере я так понял :)

    По вашему вопросу: и Controller и Presenter меняют представление. Разница в том, что в первом случае представление никак не взаимодействует с Controller-ом (ajax не в счёт), а во втором - взаимодействует напрямую.

    Могу предположить, что если в сайте есть ajax, который связывает представление с контроллером, то это уже не MVC, а MVP.
    Ответ написан
    Комментировать