Практика использования MVC

Модель

Про модель надо держать следующую мысль: "Могу ли я использовать эту модель в другом проекте?", ответ должен быть положительным.

Должна

  • Работать с данными, в том числе сохранять, искать и извлекать записи из СУБД
  • Содержать бизнес-логику и проверки корректности данных
  • Формировать и выполнять SQL запросы

Не должна

  • Обращаться к параметрам запросов пользователя (GET, POST), в том числе перенаправлять пользователя
  • Генерировать HTML или другой код, который отобразиться пользователю
  • Возвращать коды состояния HTTP (404, 302 и т.д.)

Представление

Должно

  • Генерировать HTML, лучше с использованием шаблонизатора
  • Использовать данные только контроллера и модели

Не должно

  • Взаимодействовать с СУБД.
  • Обрабатывать запросы пользователя

Контроллер

Типичной действие в контроллере: создание экземпляра модели (или получение данных через статический метод модели), заполнение модели данными из POST запроса, сохранение в СУБД, перенаправление пользователя на другую страницу.

Должен

  • Обрабатывать запросы пользователей, в том числе параметры из GET и POST
  • Оперировать данными через модели и отображением через представления
  • Осуществлять редиректы

Не должен

  • Организовывать бизнес-логику
  • Содержать SQL-запросы
  • Формировать HTML разметку

Похожие записи

О слайдах

Youtube видео. Мастер-класс Алексея Каптерева "О слайдах", почему большинство презентаций со слайдами — очень скучные и запутанные, и о том, как превратить ваши слайды из ваших противников в ваших союзников.

Что такое data driven design?

Методология принятия дизайнерских решений, основанная на результатах исследований, а не на опыте, вкусе или интуиции дизайнера.