Sobes.tech
Junior — Middle

Czy masz doświadczenie w tworzeniu lub korzystaniu z wzorca architektonicznego MVVM w swoich projektach?

sobes.tech AI

Odpowiedź od AI

Tak, mam doświadczenie z architektonicznym wzorcem MVVM w projektach Android. MVVM (Model-View-ViewModel) pomaga oddzielić logikę prezentacji od logiki biznesowej, co poprawia testowalność i utrzymanie kodu.

W moich projektach ViewModel odpowiada za przygotowanie danych dla UI i obsługę zdarzeń, podczas gdy View (Activity lub Fragment) obserwuje zmiany danych za pomocą LiveData lub StateFlow. Model zawiera logikę biznesową i pracę z danymi (np. repozytoria).

Przykład użycia ViewModel z LiveData:

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

    fun loadData() {
        // Ładowanie danych i aktualizacja LiveData
        _data.value = "Przykład danych"
    }
}

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

Ten sposób pozwala oddzielić UI od logiki i upraszcza zarządzanie stanem aplikacji.