Sobes.tech
Junior — Middle

Máte zkušenosti s vývojem nebo používáním architektonického vzoru MVVM ve svých projektech?

sobes.tech AI

Odpověď od AI

Ano, mám zkušenosti s architektonickým vzorem MVVM v projektech Android. MVVM (Model-View-ViewModel) pomáhá oddělit prezentační logiku od obchodní logiky, což zlepšuje testovatelnost a údržbu kódu.

V mých projektech je ViewModel zodpovědný za přípravu dat pro UI a za zpracování událostí, zatímco View (Activity nebo Fragment) sleduje změny dat pomocí LiveData nebo StateFlow. Model obsahuje obchodní logiku a práci s daty (například repository).

Příklad použití ViewModel s LiveData:

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

    fun loadData() {
        // Načtení dat a aktualizace LiveData
        _data.value = "Příklad dat"
    }
}

// V Activity nebo Fragment
viewModel.data.observe(viewLifecycleOwner) { value ->
    textView.text = value
}

Tento přístup umožňuje oddělit UI od logiky a zjednodušit správu stavu aplikace.