Recentemente (lo scorso anno circa) ho usato MVVM su un progetto che assolutamente non ne aveva bisogno solo per impararlo. Oggi sono molto contento di averlo fatto.
L'applicazione non è estremamente complessa, ma la mia esperienza ora è che posso aggiungere nuove funzionalità in modo semplice e naturale anche se non ho toccato il codice per un po 'di tempo, molto più che negli altri miei programmi. MVVM è anche molto diffuso, quindi si utilizza un modello di progettazione per il quale si ottiene molto aiuto in caso di domande. Non sei solo con ciò, per così dire. ;)
Inoltre non ho aggiunto alcun test dato che finora era solo un progetto per animali domestici e oggi, dove è più usato di quanto pensassi, posso facilmente aggiungere test molto più comodamente di quanto potessi fare sin da quando ViewModels è semplicemente fantastico per il test.
In uno dei tuoi commenti hai menzionato un aumento del codice boilerplate che nella mia esperienza deriva principalmente dal fatto che molte persone pubblicano le loro proprietà dai loro Modelli solo nei loro ViewModels, duplicando molto codice nel processo. Io di solito implemento INotifyPropertyChanged nei miei Modelli per aggirare questo. Alcuni lo vedono come una cattiva pratica, ma questa è la sua bellezza, il modello di progettazione è ancora fresco e discusso (vedi l'opinione di Sasha Barbers su questo a al codeproject in" Sviluppare modelli usando Cinch ").
Quindi puoi assolutamente ignorarlo e scrivere ancora un ottimo software, ma ti consiglio di valutare attentamente i vantaggi che potresti perdere prima di farlo.