Паттерн MVC

MVC (Model-View-Controller) — шаблон проектирования архитектуры приложений. Он используется чтобы разделить логику всего приложения на три элемента, связанных друг с другом. Это позволяет разделить представление информации “внутри” приложения и то, как эту информация видит и вводит пользователь. Благодаря этому упрощается поддержка приложения “на большой дистанции”, то есть в долгосрочной перспективе такое приложение будет легче поддерживать чем приложение у которого вообще нет никакой архитектуры.

Данный шаблон делит логику приложения на три части:

  1. Model (Модель). Отвечает за представление данных “внутри” приложения. Зачастую это слой, который отвечает за получение данных либо из базы данных в самом приложении, либо за совершение запросов на сервер. Так же данный слой содержит бизнесс-логику приложения
  2. View (Представление). Отвечает за представление данных модели пользователю, а так же за интерпретацию действий пользователя (например пользователь нажал кнопку, ввел текст и тд). Отправляет действия пользователя в контроллер
  3. Controller (Контроллер). Контроллеру приходят действия пользователя. Можно представить что это геймпад, которым управляет пользователь. Контроллер отвечает за прием действий пользователя, интерпретацию данных действий и изменение модели в соответствии с данными действиями

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

Замкнутый круг: Пользователь использует Контроллер, Контроллер меняет Модель, а Модель обновляет Представление, которое видит Пользователь.

Проверьте себя после изучения темы

Бесплатный бот с тестами и практическими заданиями по Kotlin.

  • 22 бесплатных урока
  • Тесты к каждому уроку (всего 220 вопросов)
  • Задачи в рамках практики KotlinSprint (120 задач) и курсовой проект «Телеграм бот для изучения иностранных слов»
Начать обучение

Вам также может быть интересно

Узнать подробнее
Курс AndroidSprint

Глубокое обучение Android разработке с 0 до получения оффера. Только персональная практика с гарантией получения продуктового опыта.

Узнать подробнее
Узнать подробнее
Практикум по Kotlin

Изучение Котлин с 0 для профессиональной разработки. Личный ментор и разбор кода задач через git-flow.

Узнать подробнее
Узнать подробнее
Бесплатные уроки по Kotlin разработке

Самостоятельное освоение базы по языку для дальнейшего развития в Android/back-end разработке или в автотестах.

Узнать подробнее
Узнать подробнее
Onboarding в разработку

Полное обучение Android разработке с нуля до получения оффера. Делаем упор на практику и обратную связь

Узнать подробнее
Узнать подробнее
Обучающий Kotlin телеграм бот (с тестами)

Ваш основной инструмент для изучения основ языка. Бесплатные тесты и практика внутри.

Узнать подробнее
Узнать подробнее
Бесплатные уроки по Android разработке

Самостоятельное обучение разработке Андроид приложений. Понятные видеоуроки с разжеванными примерами.

Узнать подробнее
Узнать подробнее
Курс по UI/Unit тестированию

Для ручных тестировщиков, которые готовы осваивать автотесты с использованием актуального стека технологий. [в разработке]

Узнать подробнее
Узнать подробнее
Обучающий Android телеграм бот (с тестами)

Бесплатные теоретические тесты для самопроверки. А также информер на практических спринтах по Android.

Узнать подробнее