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.