Sobes.tech
Junior — Middle

Magyarázza el az MVVM architektúrális minta működési elvét és összetevőit.

sobes.tech MI

Válasz az MI-től

MVVM (Model-View-ViewModel) — architekturális minta, amely az alkalmazás logikáját három komponensre bontja:

  • Model — adatminta és üzleti logika. Feladata az adatok kezelése, például hálózatról vagy adatbázisból való betöltés.

  • View — felhasználói felület, amely megjeleníti az adatokat és fogadja a felhasználói műveleteket.

  • ViewModel — közvetítő a Model és a View között. Tartalmazza a megjelenítési logikát, átalakítja a modell adatait a megjelenítéshez alkalmas formátumba, és kezeli a felhasználói parancsokat.

Működési elv:

  • A View feliratkozik a ViewModel változásaira (például kötéseken vagy megfigyelőkön keresztül).
  • A ViewModel kér adatokat a Modelltől, és frissíti az állapotát.
  • Amikor az adatok változnak, a ViewModel értesíti a View-t, amely frissíti a felületet.

Ez az elkülönítés megkönnyíti a kód tesztelését és karbantartását, mivel a UI és az üzleti logika külön van.

Példa Swift-ben Combine használatával:

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

    func fetchData() {
        // adatok betöltése és a text frissítése
        text = "Adatok betöltve"
    }
}

// A View feliratkozik a ViewModel változásaira, és automatikusan frissíti a UI-t