История изменений
Исправление dimgel, (текущая версия) :
Строго говоря, контроллер – это то что стоит на пути данных от view к модели. Т.е. берёт данные из view (когда юзер жмёт submit формы) и модифицирует модель. Наверное, и роутер, и применение параметров фильтрации сюда же можно уложить; хотя что в этих случаях понимается под моделью – вопрос открытый.
А если вьюха не напрямую коннектится к модели (паттерном observer), а имеется специальный код, читающий модель и готовящий данные для вьюхи, этот код называется presenter, а шаблон - MVP. Хотя т.к. контроллер присутствует всегда (вьюха в принципе не знает, как обновлять модель; исключение – говно-анти-паттерн active record), то правильнее было бы называть MVPC.
Т.е. Model —> [Presenter] —> View —> Controller —> Model.
А вообще, подгонять реальные решения под термины – так себе затея. В вебе и на сервере можно выделить свой MVC, и в браузере; при этом чем являются сервер и браузер друг для друга – оставим в качестве упражнения для пытливого читателя (сам я в дурку не хочу).
Исправление dimgel, :
Строго говоря, контроллер – это то что стоит на пути данных от view к модели. Т.е. берёт данные из view (когда юзер жмёт submit формы) и модифицирует модель. Наверное, и роутер, и применение параметров фильтрации сюда же можно уложить; хотя что в их случае понимается под моделью – вопрос открытый.
А если вьюха не напрямую коннектится к модели (паттерном observer), а имеется специальный код, читающий модель и готовящий данные для вьюхи, этот код называется presenter, а шаблон - MVP. Хотя т.к. контроллер присутствует всегда (вьюха в принципе не знает, как обновлять модель; исключение – говно-анти-паттерн active record), то правильнее было бы называть MVPC.
Т.е. Model —> [Presenter] —> View —> Controller —> Model.
А вообще, подгонять реальные решения под термины – так себе затея. В вебе и на сервере можно выделить свой MVC, и в браузере; при этом чем являются сервер и браузер друг для друга – оставим в качестве упражнения для пытливого читателя (сам я в дурку не хочу).
Исправление dimgel, :
Строго говоря, контроллер – это то что стоит на пути данных от view к модели. Т.е. берёт данные из view (когда юзер жмёт submit формы) и модифицирует модель. Наверное, и роутер, и применение параметров фильтрации сюда же можно уложить; хотя что в их случае понимается под моделью – вопрос открытый.
А если вьюха не напрямую коннектится к модели (паттерном observer), а имеется специальный код, читающий модель и готовящий данные для вьюхи, этот код называется presenter, а шаблон - MVP. Хотя т.к. контроллер присутствует всегда (вьюха в принципе не знает, как обновлять модель; исключение – говно-анти-паттерн active record), то правильнее было бы называть MVPC.
А вообще, подгонять реальные решения под термины – так себе затея. В вебе и на сервере можно выделить свой MVC, и в браузере; при этом чем являются сервер и браузер друг для друга – оставим в качестве упражнения для пытливого читателя (сам я в дурку не хочу).
Исправление dimgel, :
Строго говоря, контроллер – это то что стоит на пути данных от view к модели. Т.е. берёт данные из view (когда юзер жмёт submit формы) и модифицирует модель. Наверное, и роутер, и применение параметров фильтрации сюда же можно уложить; хотя что в их случае понимается под моделью – вопрос открытый.
А если вьюха не напрямую коннектится к модели (паттерном observer), а имеется специальный код, читающий модель и готовящий данные для вьюхи, этот код называется presenter, а шаблон - MVP. Хотя т.к. контроллер присутствует всегда (вьюха в принципе не знает, как обновлять модель; исключение – говно-анти-паттерн active record), то правильнее было бы называть MVPC.
А вообще, подгонять решения под термины – так себе затея. В вебе и на сервере можно выделить свой MVC, и в браузере; при этом чем являются сервер и браузер друг для друга – оставим в качестве упражнения для пытливого читателя (сам я в дурку не хочу).
Исходная версия dimgel, :
Строго говоря, контроллер – это то что стоит на пути данных от view к модели. Т.е. берёт данные из view (когда юзер жмёт submit формы) и модифицирует модель. Наверное, и роутер, и применение параметров фильтрации сюда же ложится.
А если вьюха не напрямую коннектится к модели (паттерном observer), а имеется специальный код, читающий модель и готовящий данные для вьюхи, этот код называется presenter, а шаблон - MVP. Хотя т.к. контроллер присутствует всегда (вьюха в принципе не знает, как обновлять модель; исключение – говно-анти-паттерн active record), то правильнее было бы называть MVPC.
А вообще, подгонять решения под термины – так себе затея. В вебе и на сервере можно выделить свой MVC, и в браузере; при этом чем являются сервер и браузер друг для друга – оставим в качестве упражнения для пытливого читателя (сам я в дурку не хочу).