MVC в области сайтостроения

Чтобы иметь возможность безболезненно изменять и поддерживать веб-сайт, у него должна быть хорошо продуманная архитектура.

В начале развития проекта, когда он состоит из нескольких веб-страниц, кажется, что говорить об архитектуре смешно. Но если на раннем этапе этому важному моменту не уделить должного внимания, то в дальнейшем можно потерять над проектом контроль.

Удачная архитектура не позволит вам оказаться в тупике через несколько лет, если вы будете следовать ее концепции. Одной из таких концепций является MVC.

Что такое MVC?

Идея MVC (Model-View-Controller) состоит в разделении всего приложения на три независимые друг от друга составляющие: Модель, Вид и Контроллер. Это дает возможность разрабатывать одни узлы программы, не затрагивая другие. Согласно концепции, каждый компонент выполняет определенные задачи.

Модель

Отвечает за обработку данных. Модель взаимодействует с базой данных и файлами, занимается преобразованием одних файлов в другие, ответственна за почтовые рассылки и пр. По сути, здесь реализуется основная логика программы.

Модель — это программный класс. В методах этого класса вызываются методы других классов, в которых реализованы алгоритмы обработки данных. Эти алгоритмы также могут быть описаны и в методах самой модели.

Как бы там ни было, главная задача модели — получить набор данных и вернуть ответ (массив, объект и др.). На действия пользователя модель никак не реагирует.

Контроллер

Выполняет распределительную функцию. Именно здесь и обрабатывается поведение пользователя. В контроллере описываются условия, при которых должны инициализироваться классы тех или иных моделей, вызываться методы моделей и т.п. На логику работы контроллера влияют все пользовательские запросы (GET, POST и др.).

Модель ничего не знает о пользователе и его действиях, она лишь работает с данными, которые ей передает контроллер. Контроллер должен получить ответ от модели и как-то его отобразить. Другая главная задача контроллера — указать, в каком виде будут отображаться данные.

Вид

Технически вид представляет собой файл, содержащий HTML-разметку, который загружается контроллером. Главная задача вида — получить от контроллера набор данных и отобразить их.

Виды не содержат сложных языковых конструкций, здесь лишь переменные встраиваются в HTML-код, так что разработку вида можно доверить верстальщику или дизайнеру.

Виды являются независимыми элементами архитектуры, их можно создавать отдельно, не имея общего представления о работе всего приложения. Например, при наличии HTML-шаблона, можно уже начинать подготавливать виды.

Практическое применение

Механизм MVC можно построить самостоятельно, однако существуют готовые архитектурные каркасы (фреймворки), созданные в парадигме MVC. Самые популярные из них используют стиль ООП, но саму идею MVC можно выразить и в стиле процедурного программирования.

Итак, что же нам дает MVC? Представьте, что вы создаете проект, а решение о его интерфейсе еще не принято (например, не нашли дизайнера). Но уже точно известно, что в рамках проекта будет работать online-магазин.

В этом случае вы можете приступить к разработке модели, и для этого вам следует знать: какие данные будут участвовать в обработке (наименование товара, артикул и пр.) и где они будут храниться, какие данные поступят в модель и какие данные она вернет.

Вам могут понадобиться дополнительные классы (валидация, обработка изображений и др.), которые вы будете инициализировать в своих моделях. Например, метод валидации адреса электронной почты лучше поместить в отдельный класс, не являющийся моделью, ведь данный метод может использоваться в разных моделях, а модели, как вы знаете, должны быть независимы, и не только от видов и контроллеров, но и друг от друга.

Еще пример. У вас есть сайт, но шаблон сайта морально устарел. Вы легко его поменяете, если вся работа сведется к подстановке нового вида. Остальной код останется нетронутым.

Такая ситуация. Вы решили создать свой второй проект, но взаимодействовать с пользователями он должен будет немного иначе, чем первый. Тогда вы можете скопировать модели из первого проекта, после чего останется лишь разработать контроллеры и виды.

Вообще, разбиение программы на независимые составляющие — то, к чему и должны были прийти программисты. MVC не удивила мир, но благодаря ей основополагающие элементы обрели свои имена (Модель, Вид, Контроллер).

MVC в области сайтостроения
Получить консультацию у специалистов DST
Напишите нам прямо сейчас, наши специалисты расскажут об услугах и ответят на все ваши вопросы.
Комментарии
RSS
Вам может быть интересно
В мире есть много способов программирования. Но один из самых популярных и эффективных — это объектно-ориентированная методология или ООП. Она отличается от других подходов своей уникальной стру...
Название PHP расшифровывается как гипертекстовый препроцессор и обозначает серве...
Прежде чем мы узнаем для чего и как придумали объе...
Что такое программное обеспечение для разработки п...
В этой статье от разработчиков компании DST Global...
В этой статье разработчики компании DST Global опи...
В программировании существует такое понятие, как «...
REST API (Representational State Transfer Applicat...
Frontend- и backend-разработка тесно связаны между...
После перехода в мир IT и активной работы там мне ...
Значение интерфейсов прикладного программирования(...

Новые комментарии

Если такие вопросы задаются при собеседовании человека с >3 лет реального опы...
Создаётся впечатление, что вопросы типа «QA vs QC» и «верификация vs валидация» ...
Есть общеизвестные лучшие практики для создания эффективных кластеров Kubernetes...

Заявка на услуги DST

Наш специалист свяжется с вами, обсудит оптимальную стратегию сотрудничества,
поможет сформировать бизнес требования и рассчитает стоимость услуг.

Адрес

Ижевск, ул. Воткинское шоссе, д. 170 Е, Технопарк Нобель, офис 1117

8 495 1985800
Заказать звонок

Режим работы: Пн-Пт 10:00-19:00

info@dstglobal.ru

Задать вопрос по почте

Укажите ваше имя
Укажите ваше email
Укажите ваше телефон