Sobes.tech
Junior — Middle

Wyjaśnij zasadę działania wzorca architektonicznego MVVM i jego składniki.

sobes.tech AI

Odpowiedź od AI

MVVM (Model-View-ViewModel) — wzorzec architektoniczny, który dzieli logikę aplikacji na trzy komponenty:

  • Model — model danych i logika biznesowa. Odpowiada za pracę z danymi, na przykład ładowanie z sieci lub bazy danych.

  • View — interfejs użytkownika, wyświetlający dane i przyjmujący działania użytkownika.

  • ViewModel — pośrednik między Model a View. Zawiera logikę prezentacji, przekształca dane z modelu w format odpowiedni do wyświetlenia i obsługuje polecenia użytkownika.

Zasada działania:

  • View subskrybuje zmiany w ViewModel (np. przez wiązania lub obserwatory).
  • ViewModel pobiera dane z Model i aktualizuje swój stan.
  • Przy zmianie danych, ViewModel powiadamia View, które odświeża interfejs.

Ta separacja ułatwia testowanie i utrzymanie kodu, ponieważ UI i logika biznesowa są oddzielone.

Przykład w Swift z użyciem Combine:

class ViewModel: ObservableObject {
    @Published var text: String = ""

    func fetchData() {
        // ładowanie danych i aktualizacja text
        text = "Dane załadowane"
    }
}

// View subskrybuje zmiany w ViewModel i automatycznie odświeża UI