Sobes.tech
Junior — Middle

Vysvetlite princíp fungovania architektonického vzoru MVVM a jeho zložky.

sobes.tech AI

Odpoveď od AI

MVVM (Model-View-ViewModel) — architektonický vzor, ktorý rozdeľuje logiku aplikácie na tri komponenty:

  • Model — dátový model a obchodná logika. Zodpovedá za prácu s dátami, napríklad načítanie zo siete alebo databázy.

  • View — používateľské rozhranie, ktoré zobrazuje dáta a prijíma akcie používateľa.

  • ViewModel — sprostredkovateľ medzi Modelom a View. Obsahuje logiku prezentácie, transformuje dáta z modelu do formátu vhodného na zobrazenie a spracováva príkazy používateľa.

Princíp fungovania:

  • View sa prihlási na zmeny vo ViewModel (napríklad cez väzby alebo pozorovateľov).
  • ViewModel žiada dáta od Modelu a aktualizuje svoj stav.
  • Pri zmene dát, ViewModel upozorní View, ktoré aktualizuje rozhranie.

Táto separácia uľahčuje testovanie a údržbu kódu, pretože UI a obchodná logika sú oddelené.

Príklad v Swift s použitím Combine:

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

    func fetchData() {
        // načítanie dát a aktualizácia textu
        text = "Dáta načítané"
    }
}

// View sa prihlási na zmeny vo ViewModel a automaticky aktualizuje UI