Найти тему
Zen coder

Model-View-Controller (MVC)

Концепция MVC была описана Трюгве Реенскаугом в 1978 году, работавшим в научно-исследовательском центре «Xerox PARC».

Паттерн MVC придуман для упрощения разработки больших приложений.

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

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

Представление (View) - если видишь что-то на экране, значит это представление. Объекты представлений умеют отображать себя на экране и реагировать на действия пользователя.

Контроллер - объекты контроллеры связывают и управляют потоками данных между Моделью и Представлением. Они содержат логику приложения.

Преимущества использования MVC:

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