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...

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

Раньше не хотели внедрять себе CRM систему, после того как установили DST CRM просто вынесла мозг своим функционалом, тысяча кнопок, менеджеры DST по ...
Уже зарегистрировался на Эпсилоне, соц сеть быстро развивается, оно и понятно сейчас такое время когда советы психологов да и просто людей которые аде...
Как минимум Роман искусственный интеллект — это моделирование человеческого интеллекта в машинах, которые запрограммированы на то, чтобы мыслить и учи...
Хотелось бы узнать — что может сделать искусственный интеллект для CMS? И чем это поможет администраторам и для моего бизнеса в прикладном понятии

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

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

Адрес

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

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

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

info@dstglobal.ru

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

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