Junior — Middle
Máte skúsenosti s vývojom alebo používaním architektonického vzoru MVVM vo svojich projektoch?
sobes.tech AI
Odpoveď od AI
Áno, mám skúsenosti s architektonickým vzorcom MVVM v projektoch Android. MVVM (Model-View-ViewModel) pomáha oddeliť prezentačnú logiku od obchodnej logiky, čo zlepšuje testovateľnosť a údržbu kódu.
V mojich projektoch je ViewModel zodpovedný za prípravu dát pre UI a za spracovanie udalostí, zatiaľ čo View (Activity alebo Fragment) sleduje zmeny v dátach pomocou LiveData alebo StateFlow. Model obsahuje obchodnú logiku a prácu s dátami (napríklad repository).
Príklad použitia ViewModel s LiveData:
class MyViewModel : ViewModel() {
private val _data = MutableLiveData<String>()
val data: LiveData<String> = _data
fun loadData() {
// Načítanie dát a aktualizácia LiveData
_data.value = "Príklad dát"
}
}
// V Activity alebo Fragment
viewModel.data.observe(viewLifecycleOwner) { value ->
textView.text = value
}
Tento prístup umožňuje oddeliť UI od logiky a zjednodušuje správu stavu aplikácie.