Sobes.tech
Junior — Middle

Explica principiul de funcționare al pattern-ului arhitectural MVVM și componentele sale.

sobes.tech AI

Răspuns de la AI

MVVM (Model-View-ViewModel) — model de arhitectură care împarte logica aplicației în trei componente:

  • Model — model de date și logică de business. Răspunde de lucrul cu datele, de exemplu, încărcarea din rețea sau bază de date.

  • View — interfața utilizatorului, care afișează datele și primește acțiuni de la utilizator.

  • ViewModel — intermediar între Model și View. Conține logica de prezentare, transformă datele din model într-un format potrivit pentru afișare și gestionează comenzile utilizatorului.

Principiul de funcționare:

  • View se abonează la modificările din ViewModel (de exemplu, prin binding sau observatori).
  • ViewModel solicită date de la Model și își actualizează starea.
  • Când datele se schimbă, ViewModel notifică View-ul, care actualizează interfața.

Această separare facilitează testarea și întreținerea codului, deoarece UI și logica de business sunt separate.

Exemplu în Swift cu Combine:

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

    func fetchData() {
        // încărcare de date și actualizare text
        text = "Date încărcate"
    }
}

// View se abonează la modificările din ViewModel și actualizează UI-ul automat