Sobes.tech
Junior — Middle

Spiega il principio di funzionamento del pattern architetturale MVVM e le sue componenti.

sobes.tech AI

Risposta dell'AI

MVVM (Model-View-ViewModel) — pattern architetturale che divide la logica dell'applicazione in tre componenti:

  • Model — modello di dati e logica di business. Si occupa di lavorare con i dati, ad esempio caricandoli da rete o da un database.

  • View — interfaccia utente, che mostra i dati e riceve le azioni dell'utente.

  • ViewModel — intermediario tra Model e View. Contiene la logica di presentazione, trasforma i dati del modello in un formato adatto alla visualizzazione e gestisce i comandi dell'utente.

Principio di funzionamento:

  • La View si iscrive alle modifiche nel ViewModel (ad esempio, tramite binding o osservatori).
  • Il ViewModel richiede dati al Model e aggiorna il suo stato.
  • Quando i dati cambiano, il ViewModel notifica la View, che aggiorna l'interfaccia.

Questa separazione semplifica il testing e la manutenzione del codice, poiché UI e logica di business sono separate.

Esempio in Swift con Combine:

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

    func fetchData() {
        // caricamento dati e aggiornamento di text
        text = "Dati caricati"
    }
}

// La View si iscrive alle modifiche del ViewModel e aggiorna automaticamente l'UI