Sobes.tech
Junior — Middle

Quale struttura e componenti include il pattern MVVM?

sobes.tech AI

Risposta dell'AI

Il pattern MVVM (Model-View-ViewModel) divide l'applicazione in tre componenti principali:

  • Model — rappresenta i dati e la logica di business. È lo strato che lavora con i dati, ad esempio modelli di database o servizi.
  • View — si occupa di mostrare i dati all'utente. Sono componenti UI che mostrano le informazioni e ricevono input dall'utente.
  • ViewModel — intermediario tra Model e View. Contiene la logica di presentazione, trasforma i dati del Model in un formato adatto alla View e gestisce i comandi dell'utente.

Questa separazione permette di migliorare la testabilità, la manutenzione e il riutilizzo del codice. View e ViewModel sono generalmente collegati tramite meccanismi di binding, che riducono la quantità di codice necessaria per aggiornare l'UI.

Esempio in C# con WPF:

public class PersonViewModel : INotifyPropertyChanged
{
    private string name;
    public string Name
    {
        get => name;
        set
        {
            name = value;
            OnPropertyChanged();
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;
    protected void OnPropertyChanged([CallerMemberName] string propName = null)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
    }
}

Qui, il ViewModel contiene la proprietà Name, che può essere legata dalla View per visualizzare e modificare.