Кратко о парадигме MVC

admin, 2009-05-21 23:13:56

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

Model-view-controller (MVC, Модель-представление-поведение, Модель-представление-контроллер) — архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.

  • Модель (Model). Модель предоставляет данные (обычно для View), а также реагирует на запросы (обычно от контроллера), изменяя свое состояние.
  • Представление (View). Отвечает за отображение информации (пользовательский интерфейс).
  • Поведение (Controller). Интерпретирует данные, введенные пользователем, и информирует модель и представление о необходимости соответствующей реакции.

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

Что изменилось в жизни разработчиков ПО?

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

Что изменилось в жизни веба?

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

С другой стороны никуда не исчез говнокод, и он всё ещё продолжает плодится. Но растёт посещаемость ресурсов, требования к количеству медиаконтента, и словно град, сыпятся заказы на реинжиниринг. Пройдёт пару лет, и технологии прошлого будут привлекать лишь единиц, так же как сегодня можно привлечь серьёзного клиента статическим сайтом.


Тэги статьи: MVC 

 
  темы блога
все записи4
архитектура по1
программирование2
тестирование0
администрирование1
управление проектами0


  облако тегов


мы рекомендуем VPS хостинг:
VPS Hosting Referral Code D0V2GG
© phpcmf.com | вход для пользователей Rambler's Top100