Что такое архитектура

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

Ответ

Архитектура в Android — это структура приложения, определяющая организацию кода, разделение ответственностей и взаимодействие компонентов. Она помогает сделать код поддерживаемым, тестируемым и масштабируемым.

Популярные подходы:

  • MVC (Model-View-Controller) – устаревший, приводит к "раздутым" Activity/Fragment.
  • MVP (Model-View-Presenter) – лучше разделяет логику и UI, но требует ручного управления жизненным циклом.
  • MVVM (Model-View-ViewModel) – использует Data Binding и LiveData/Flow, рекомендован Google.
  • Clean Architecture – разделение на слои (domain, data, presentation), независимость от фреймворков.

Пример MVVM с ViewModel:

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

    fun loadData() {  
        _data.value = "Hello, MVVM!"  
    }  
}  

Ключевые принципы: SOLID, DRY, инверсия зависимостей (Dagger/Hilt).