ECMAScript6 Webpack

Angular client interface e ViewModel

Una delle domande che spesso mi viene posta nello sviluppo di web application con Angular è:

“Perchè è necessario creare un ViewModel per la rappresentazione dei dati, e non utilizzare i dati raw (ad esempio in formato Json)?”

L’utilizzo di dati raw in formato Json è sempre possibile, ma un ViewModel è sicuramente la scelta migliore per almeno tre buoni motivi:

  • utilizzando Typescript (invece di Javascript), scelta necessaria per poter lavorare in maniera tipizzata, non è possibile utilizzare tipi anonimi per il flusso dei dati;
  • i tipi anonimi, ed in particolare le loro proprietà sono difficili da validare
  • i tipi anonimi sono difficilmente riusabili, e non sono la soluzione ottimale per le funzionalità di mapping offerte da Angular che richiedono di avere avere istanze di interfacce e/o di tipi

Il ViewModel può essere utilizzato in diversi contesti ed è sicuramente molto utilizzato all’interno della applicazioni .NET MVC.

L’utilizzo di un ViewModel ha il vantaggio di utilizzare solo i dati che ci servono, e nulla di più: non vengono rappresentati tutti i campi del model ma solo il subset strettamente necessario.

Pubblicato da

Andrea Merlin

Laureato in informatica, diversi corsi di specializzazione legati allo Sviluppo Software e alla Computer forensics. Appassionato di nuove tecnologie, amo la programmazione, la Business Intelligence e tematiche legate alla Privacy.Sempre alla ricerca di nuove idee, stimoli … e progetti da seguire!Amo trascorrere il tempo libero in Val Borbera, un piccolo angolo del Piemonte, in provincia di Alessandria.