Современные архитектурные паттерны в мобильной разработке на Android
Авторы: А.В. Боднар, Д.С. Кравченко
Источник: Вестник ДонНТУ, серия «Информатика, кибернетика и вычислительная техника», 2024.
Аннотация
Обзор эволюции архитектурных подходов: от MVC до Clean Architecture и MVI. Приведены рекомендации по выбору паттерна для приложений различной сложности. Рассмотрены примеры реализации в Kotlin с использованием Jetpack Compose и Hilt. Показаны преимущества многослойной архитектуры для тестируемости и масштабируемости кода.
Ключевые слова
MVC, MVVM, MVI, Clean Architecture, Android, Kotlin, Jetpack
Введение
Современная мобильная разработка требует использования архитектурных паттернов для обеспечения поддерживаемости и масштабируемости кода. Эволюция от простых паттернов, таких как MVC, к более сложным, как Clean Architecture, позволяет решать проблемы монолитного кода и зависимости от фреймворков [1].
Основные паттерны
MVC: Модель-Представление-Контроллер — базовый паттерн, где контроллер управляет взаимодействием между моделью и представлением. Недостатки: тесная связь компонентов.
MVVM: Модель-Представление-ViewModel — добавляет ViewModel для обработки бизнес-логики, улучшая тестируемость.
MVI: Модель-Представление-Intent — ориентирован на односторонний поток данных, идеален для реактивных UI.
Clean Architecture: Независимые слои (Entities, Use Cases, Repositories), обеспечивающие независимость от UI и внешних источников.
Примеры реализации
В Kotlin с Hilt: Dependency Injection для инъекции репозиториев в ViewModel. Jetpack Compose для declarative UI позволяет легко интегрировать с MVVM через StateFlow.
Результаты
Переход на Clean Architecture сократил время отладки на 25 % и повысил покрытие тестами до 85 %.
Заключение
Выбор паттерна зависит от сложности проекта: для простых — MVVM, для сложных — Clean Architecture с MVI.
Список литературы
- Martin R.C. Clean Architecture. – 2017.
- Android Architecture Blueprints // Google Samples, 2024.
