Приведи пример God Object в Android

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

Ответ

God Object — это антипаттерн, когда один класс берет на себя слишком много ответственностей, нарушая принцип единой ответственности (SRP).

Пример в Android:

class MainActivity : AppCompatActivity() {
    // Управление UI
    fun updateUI() { /* ... */ }

    // Работа с сетью
    fun fetchData() { /* ... */ }

    // Логика базы данных
    fun saveToDb() { /* ... */ }

    // Бизнес-логика
    fun processData() { /* ... */ }

    // Управление навигацией
    fun navigateToNextScreen() { /* ... */ }
}

Проблемы:

  • Сложно тестировать
  • Трудно поддерживать
  • Высокая связность

Решение: Разделить на отдельные классы (ViewModel, Repository, UseCase и т. д.).