MVVM - Vantaggi

Il pattern MVVM è in definitiva la struttura moderna del pattern MVC, quindi l'obiettivo principale è sempre lo stesso per fornire una chiara separazione tra logica di dominio e livello di presentazione. Ecco alcuni dei vantaggi e degli svantaggi del pattern MVVM.

Il vantaggio principale è consentire una vera separazione tra la vista e il modello oltre a raggiungere la separazione e l'efficienza che si guadagna da averla. Ciò che significa in termini reali è che quando il tuo modello deve cambiare, può essere cambiato facilmente senza che la vista ne abbia bisogno e viceversa.

Ci sono tre aspetti chiave importanti che derivano dall'applicazione di MVVM che sono i seguenti.

Manutenibilità

  • Una netta separazione di diversi tipi di codice dovrebbe rendere più facile entrare in una o più di quelle parti più granulari e mirate e apportare modifiche senza preoccuparsi.

  • Ciò significa che puoi rimanere agile e continuare a passare rapidamente alle nuove versioni.

Testabilità

  • Con MVVM ogni pezzo di codice è più granulare e se viene implementato correttamente le tue dipendenze esterne e interne sono in parti di codice separate dalle parti con la logica di base che desideri testare.

  • Ciò rende molto più semplice scrivere unit test rispetto a una logica di base.

  • Assicurati che funzioni correttamente quando viene scritto e continui a funzionare anche quando le cose cambiano durante la manutenzione.

Estensibilità

  • A volte si sovrappone alla manutenibilità, a causa dei confini di separazione netti e dei pezzi di codice più granulari.

  • Hai maggiori possibilità di rendere una qualsiasi di queste parti più riutilizzabile.

  • Ha anche la capacità di sostituire o aggiungere nuovi pezzi di codice che fanno cose simili nei posti giusti nell'architettura.

Lo scopo ovvio del pattern MVVM è l'astrazione della vista che riduce la quantità di logica aziendale nel code-behind. Tuttavia, di seguito sono riportati alcuni altri vantaggi concreti:

  • ViewModel è più facile da testare rispetto al codice code-behind o basato su eventi.
  • Puoi testarlo senza scomode automazioni e interazioni dell'interfaccia utente.
  • Il livello di presentazione e la logica sono vagamente accoppiati.

Svantaggi

  • Alcune persone pensano che per semplici UI, MVVM possa essere eccessivo.
  • Allo stesso modo, nei casi più grandi, può essere difficile progettare ViewModel.
  • Il debug sarebbe un po 'difficile quando abbiamo associazioni di dati complesse.