Sobes.tech
Junior — Middle

Selgitage arhitektuurimustri MVVM tööpõhimõtet ja selle komponendid.

sobes.tech AI

Vastus AI-lt

MVVM (Model-View-ViewModel) — arhitektuurimuster, mis jagab rakenduse loogika kolme komponendisse:

  • Model — andmemudel ja äriloogika. Vastutab andmetega töötamise eest, näiteks andmete laadimise eest võrgust või andmebaasist.

  • View — kasutajaliides, mis kuvab andmeid ja võtab kasutaja tegevusi vastu.

  • ViewModel — vahendaja Modeli ja View vahel. Sisaldab esitlusloogikat, teisendab mudelist saadud andmed sobivasse vormingusse ning töötleb kasutaja käske.

Tööpõhimõte:

  • View tellib end ViewModeli muudatustest (näiteks sidumiste või jälgijate kaudu).
  • ViewModel küsib andmeid Modelilt ja uuendab oma olekut.
  • Kui andmed muutuvad, teavitab ViewModel View-d, mis uuendab kasutajaliidest.

See jaotus lihtsustab koodi testimist ja hooldust, kuna kasutajaliides ja äriloogika on eraldatud.

Näide Swiftis Combine'i kasutades:

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

    func fetchData() {
        // andmete laadimine ja teksti uuendamine
        text = "Andmed laaditud"
    }
}

// View tellib end ViewModeli muudatustest ja uuendab automaatselt kasutajaliidest