BC/NW 2023 № 1 (40):4.1

ОСОБЕННОСТИ АРХИТЕКТУРНОГО ПАТТЕРНА MODEL-VIEW-INTENT В РАЗРАБОТКЕ ПРИЛОЖЕНИЙ

Писклов Н.А.. Шамшурин Д.А., Исавнин А.Г.

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

В мобильной разработке и разработке сайтов стал популярен архитектурный паттерн Model-View-Intent (MVI). Особенность этого паттерна заключается в том, чтобы объявить все состояния экрана в одном программном интерфейсе и при изменении данных, либо при обратной связи пользователя обновлять информацию на экране на основе переданного состояния. Такой подход дает множество преимуществ:

1. Структурность кода. Необходимые методы привязаны к определенному состоянию и снижается риск ошибки разработчика.

2. Упрощение тестирования пользовательского интерфейса. Так как обновление экрана происходит только посредством состояний, то разработка тестов становится крайне предсказуемой.

3. Обеспечение безопасности потоков. MVI паттерн не предусматривает прямое взаимодействие с объектами бизнес-логики, поэтому, в теории, непредвиденное изменение данных невозможно.

Однако есть существенный недостаток - высокая сложность работы с динамическим интерфейсом. Каждое изменение интерфейса необходимо обработать отдельным состоянием.

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

Литература

1. Электронный учебник Kodeco. URL: https://www.kodeco.com/817602-mvi-architecture-for-android-tutorial-getting-started (Дата обращения 26.11.2022).

2. Личный блог Ханса Дорфманна. URL: http://hannesdorfmann.com/android/model-view-intent/ (Дата обращения 26.11.2022).