Почему не стоит писать монолитные приложения без архитектуры

«Почему не стоит писать монолитные приложения без архитектуры» — вопрос из категории Архитектура, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Монолитные приложения без четкой архитектуры сложно поддерживать и масштабировать. Со временем код превращается в «спагетти», где бизнес-логика, UI и данные перемешаны. Это приводит к:

  1. Сложности изменений – любая правка затрагивает множество компонентов.
  2. Проблемам с тестированием – без разделения ответственности сложно покрыть код юнит-тестами.
  3. Низкой переиспользуемости – компоненты зависят друг от друга.

Пример плохого подхода:

class MainActivity : AppCompatActivity() {
    override fun onCreate() {
        val data = loadFromNetwork() // Бизнес-логика в UI-слое
        updateUI(data)
        saveToDatabase(data) // Работа с БД прямо в Activity
    }
}

Решение – использовать слоистую архитектуру (Clean, MVVM и т.д.), разделяя ответственность.