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