Sobes.tech
Junior — Middle

Εξηγήστε την αρχή λειτουργίας του αρχιτεκτονικού μοτίβου MVVM και τα συστατικά του.

sobes.tech AI

Απάντηση από AI

MVVM (Model-View-ViewModel) — αρχιτεκτονικό μοτίβο που διαχωρίζει τη λογική της εφαρμογής σε τρία συστατικά:

  • Model — μοντέλο δεδομένων και επιχειρηματική λογική. Ανάλαβε τη διαχείριση των δεδομένων, π.χ., φόρτωση από το δίκτυο ή βάση δεδομένων.

  • View — διεπαφή χρήστη, που εμφανίζει τα δεδομένα και λαμβάνει ενέργειες από τον χρήστη.

  • ViewModel — μεσολαβητής μεταξύ Model και View. Περιέχει τη λογική παρουσίασης, μετατρέπει τα δεδομένα του μοντέλου σε κατάλληλη μορφή για εμφάνιση και διαχειρίζεται τις εντολές του χρήστη.

Αρχή λειτουργίας:

  • Η View εγγράφεται στις αλλαγές στο ViewModel (π.χ., μέσω δεσμεύσεων ή παρατηρητών).
  • Το ViewModel ζητά δεδομένα από το Model και ενημερώνει την κατάσταση του.
  • Όταν αλλάζουν τα δεδομένα, το ViewModel ειδοποιεί το View, το οποίο ενημερώνει το περιβάλλον χρήστη.

Αυτή η διαχωριστική γραμμή διευκολύνει τον έλεγχο και τη συντήρηση του κώδικα, καθώς το UI και η επιχειρηματική λογική είναι διαχωρισμένα.

Παράδειγμα σε Swift με Combine:

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

    func fetchData() {
        // φόρτωση δεδομένων και ενημέρωση του text
        text = "Δεδομένα φορτώθηκαν"
    }
}

// Το View εγγράφεται στις αλλαγές του ViewModel και ενημερώνει αυτόματα το UI