Что такое архитектура разработки ПО

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

Ответ

Архитектура ПО — это структура системы, определяющая компоненты, их взаимодействие и принципы проектирования. В Android популярны MVVM, MVP, Clean Architecture.

Пример MVVM с LiveData:

// Model
data class User(val name: String)

// ViewModel
class UserViewModel : ViewModel() {
    private val _user = MutableLiveData<User>()
    val user: LiveData<User> = _user

    fun loadUser() {
        _user.value = User("Alex")
    }
}

// View (Activity/Fragment)
viewModel.user.observe(this) { user ->
    textView.text = user.name
}

Плюсы архитектур:

  • Читаемость и поддержка кода
  • Разделение ответственности
  • Тестируемость

Без архитектуры код превращается в "спагетти" с сильной связностью.