Архитектурные паттерны в Android-разработке
Авторы: Кравченко А.С.
Источник: Выпускная квалификационная работа магистра, Донецкий национальный технический университет, 2024.
Режим доступа: https://masters.donntu.ru/2024/fist/kravchenko/diss/index.htm
Аннотация
В работе проведён всесторонний анализ современных архитектурных паттернов, применяемых в разработке Android-приложений: MVC, MVP, MVVM, MVI и Clean Architecture. Рассмотрены их преимущества и недостатки, области применения, а также примеры реализации на языке Kotlin с использованием Jetpack-компонентов. Особое внимание уделено вопросам тестируемости, масштабируемости и поддерживаемости кода при росте сложности проекта.
Ключевые слова
Android, архитектура, MVVM, Clean Architecture, Kotlin, Jetpack, тестирование, масштабируемость
Введение
С ростом сложности мобильных приложений традиционные подходы к организации кода, такие как MVC, перестали удовлетворять требованиям современной разработки. Появление Jetpack-библиотек и декларативного UI в виде Jetpack Compose сделало актуальным переход к более строгим и тестируемым архитектурам. Целью работы стало сравнение современных паттернов и выработка рекомендаций по их применению в реальных проектах.
Основная часть
Проведён анализ следующих паттернов:
- MVVM — наиболее популярный паттерн в экосистеме Jetpack, идеально сочетается с LiveData/Flow и ViewModel.
- Clean Architecture — обеспечивает полную независимость бизнес-логики от фреймворков и UI.
- MVI — однонаправленный поток данных, особенно эффективен с Compose и StateFlow.
На примерах таск-менеджера и новостного приложения показано, что переход на Clean Architecture увеличивает покрытие unit-тестами с 45 % до 87 %, а время добавления новых фич снижается на 30 % за счёт чёткого разделения ответственности.
Заключение
Clean Architecture в сочетании с Jetpack Compose и Kotlin является оптимальным решением для средних и крупных Android-приложений. MVVM остаётся хорошим выбором для простых проектов, а MVI — для высоконагруженных реактивных интерфейсов.
