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