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

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

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

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

Что такое MVC?

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

Модель

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

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

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

Контроллер

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

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

Вид

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

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

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

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

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

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

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

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

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

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

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

MVC в области сайтостроения
Получить консультацию у специалистов DST
Напишите нам прямо сейчас, наши специалисты расскажут об услугах и ответят на все ваши вопросы.
Комментарии
RSS
Вам может быть интересно
В современном мире технологий концепция SaaS (Software as a Service) стала неотъемлемой частью бизнеса. SaaS-приложения предоставляют пользователям доступ к программному обеспечению через интернет без...
Зачем использовать TypeScript для своих проектов? Основная цель TypeScript &mdas...
Прочтите это руководство от разработчиков DST Glob...
Ознакомьтесь с подробностями методологий разработк...
Прочтите это руководство от специалистов DST Globa...
Как работает веб?В этой статье разработчики DST Gl...
Рассказываем, зачем и где учить PHP, где его приме...
Современные сайты интерактивные и динамичные &m...
В Последние годы Web-приложения постепенно вытесня...
По результатам ежегодного отчёта State of the Octo...

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

Отличная платформа, особенно для маркетплейсов (в принципе единственная), вместо того что бы строить с 0 весь функционал и потратить на это более 6 ме...
Отличная платформа, особенно для маркетплейсов (в принципе единственная), вместо того что бы строить с 0 весь функционал и потратить на это более 6 ме...
Отличная платформа, особенно для маркетплейсов (в принципе единственная), вместо того что бы строить с 0 весь функционал и потратить на это более 6 ме...
Pagelook достаточно старая Социальная сеть, основное направление развлечения, как я понял она хорошо подойдет тем кто приверженец старого ВК и в свое ...

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

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

Адрес

Россия, Ижевск, ул.Салютовская,
д.1, офис 17

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

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

info@dstglobal.ru

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

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