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.