Sobes.tech
Junior — Middle

Објасните принцип рада архитектонског образца MVVM и његове компоненте.

sobes.tech АИ

Одговор од АИ

MVVM (Model-View-ViewModel) — arhitektonski obrazac koji deli logiku aplikacije na tri komponente:

  • Model — model podataka i poslovna logika. Odgovoran je za rad sa podacima, na primer, učitavanje sa mreže ili baze podataka.

  • View — korisnički interfejs, koji prikazuje podatke i prima akcije korisnika.

  • ViewModel — posrednik između Modela i View-a. Sadrži logiku prikaza, pretvara podatke iz modela u format pogodan za prikaz i obrađuje komande korisnika.

Princip rada:

  • View se pretplaćuje na promene u ViewModel-u (na primer, putem veza ili posmatrača).
  • ViewModel traži podatke od Modela i ažurira svoje stanje.
  • Kada dođe do promene podataka, ViewModel obaveštava View, koji ažurira interfejs.

Ovo razdvajanje olakšava testiranje i održavanje koda, jer su UI i poslovna logika odvojeni.

Primer u Swift-u sa Combine:

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

    func fetchData() {
        // učitavanje podataka i ažuriranje texta
        text = "Podaci učitani"
    }
}

// View se pretplaćuje na promene u ViewModel-u i automatski ažurira UI