Какая была архитектура проектов на прошлых работах

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

Ответ

Использовал MVVM (с LiveData/Flow), Clean Architecture (с слоями domain/data/presentation) и MVI (для сложных экранов).

MVVM пример:

class MyViewModel(repo: MyRepo) : ViewModel() {
    private val _data = MutableLiveData<String>()
    val data: LiveData<String> = _data

    fun loadData() {
        viewModelScope.launch {
            _data.value = repo.fetchData()
        }
    }
}

Плюсы:

  • MVVM: простота, разделение логики/UI
  • Clean: тестируемость, масштабируемость
  • MVI: предсказуемость состояния

Для новых проектов предпочитаю Clean + MVVM, для legacy - постепенный рефакторинг.