Sobes.tech
Junior — Middle

Vysvětlete princip fungování architektonického vzoru MVVM a jeho složky.

sobes.tech AI

Odpověď od AI

MVVM (Model-View-ViewModel) — architektonický vzor, který rozděluje logiku aplikace do tří komponent:

  • Model — datový model a obchodní logika. Odpovídá za práci s daty, například načítání ze sítě nebo databáze.

  • View — uživatelské rozhraní, které zobrazuje data a přijímá akce uživatele.

  • ViewModel — prostředník mezi Modelem a View. Obsahuje logiku prezentace, převádí data z modelu do formátu vhodného pro zobrazení a zpracovává příkazy uživatele.

Princip fungování:

  • View se přihlašuje ke změnám ve ViewModelu (například přes vazby nebo pozorovatele).
  • ViewModel požaduje data od Modelu a aktualizuje svůj stav.
  • Při změně dat ViewModel upozorní View, která aktualizuje rozhraní.

Toto rozdělení usnadňuje testování a údržbu kódu, protože UI a obchodní logika jsou oddělené.

Příklad v Swift s použitím Combine:

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

    func fetchData() {
        // načítání dat a aktualizace textu
        text = "Data načtena"
    }
}

// View se přihlašuje ke změnám ve ViewModelu a automaticky aktualizuje UI