MVVM è la scelta giusta per un progetto WPF a sviluppatore singolo?

0

Sto iniziando a progettare e sviluppare un'applicazione WPF per la mia azienda e una delle prime scelte che devo fare è se utilizzare o meno MVVM.

I punti principali da considerare sono:

  • L'applicazione è fondamentalmente un editor di tipo VisualStudio, in cui i designer creano progetti e definiscono le interfacce utente trascinando e rilasciando elementi dell'interfaccia utente su una tela
  • Sarò l'unico progettista e sviluppatore di tale applicazione
  • Il progetto potrebbe durare molti mesi (da 4 a più di 12, a seconda delle funzionalità che sceglieranno di aggiungere durante lo sviluppo)
  • Ultimo, ma non meno importante, ho una conoscenza molto semplice e "giovane" del pattern MVVM e dei relativi framework (ho appena sviluppato una piccola applicazione di test con MVVM Light, tra cui RelayCommands e ModelViewLocator).

Che cosa dovrei fare? MVVM ne vale la pena o è semplicemente eccessivo per un progetto solista? C'è qualcosa di più nuovo che potrebbe essere utile anche per il futuro (ad esempio, ho letto qualcosa su ReactiveUI, ma non so nulla su come funziona) o devo continuare con il buon vecchio MVC?

Grazie mille per il tuo aiuto!

    
posta Brutus 21.12.2016 - 13:50
fonte

1 risposta

3

Sono un grande fan di MVVM . La semplice ragione è che posso cambiare la mia interfaccia utente e cambiare framework ogni volta che voglio. Questo è grandioso, ma per ottenere il disaccoppiamento completo a vantaggio di lungo termine, dovresti anche pensare all'implementazione di Depedency Injection .

Ciò che ho trovato fastidioso nell'usare MVVM è la comunicazione tra ViewModels . È qui che i quadri aggiuntivi possono davvero dare una mano. Dovresti esaminare Prism o Caliburn.Micro . Ti permettono di usare EventAggregators, IoC containers , guardie e molti altri. Con questo fanno Dependency Injection e comunicazione tra ViewModels easy.

MVVM ti aiuterà sicuramente a risolvere molti problemi, ma non tutti i framework supportano MVVM . Ciò significa che dovresti fare una piccola ricerca e trovare i framework che vorresti implementare in futuro e vedere se sono facili da implementare usando MVVM .

All'inizio MVVM può sembrare irritante, ma se seguirai rigorosamente le sue regole avrai un test molto facile da migliorare e migliorare l'applicazione. Avrai sicuramente bisogno di testare la tua applicazione e con l'interfaccia utente disaccoppiata e Dependency Injection sarà molto più semplice.

    
risposta data 21.12.2016 - 14:44
fonte

Leggi altre domande sui tag