MVVM - Framework

In questo capitolo, discuteremo dei toolkit o dei framework MVVM disponibili. Puoi anche usare questi framework in modo da non dover scrivere un mucchio di codice ripetitivo per implementare tu stesso il pattern MVVM. Ecco alcuni dei framework più popolari:

  • Prism
  • MVVM Light
  • Caliburn Micro

Prisma

Prism fornisce indicazioni sotto forma di esempi e documentazione che consentono di progettare e creare facilmente applicazioni desktop Windows Presentation Foundation (WPF) ricche, flessibili e di facile manutenzione. Rich Internet Applications (RIA) create con il plug-in del browser Microsoft Silverlight e le applicazioni Windows.

  • Prism utilizza modelli di progettazione che incarnano importanti principi di progettazione architettonica, come la separazione delle preoccupazioni e l'accoppiamento libero.

  • Prism ti aiuta a progettare e creare applicazioni utilizzando componenti liberamente accoppiati che possono evolversi in modo indipendente ma che possono essere facilmente e perfettamente integrati nell'applicazione complessiva.

  • Questi tipi di applicazioni sono noti come applicazioni composite.

Prism ha una serie di funzioni pronte all'uso. Di seguito sono riportate alcune delle caratteristiche importanti di Prism.

Pattern MVVM

Prism ha il supporto per il pattern MVVM. Ha una classe Bindablebase simile a quella implementata nei capitoli precedenti.

Ha un ViewModelLocator flessibile che ha delle convenzioni ma consente di sovrascrivere tali convenzioni e collegare in modo dichiarativo le visualizzazioni e i ViewModel in modo vagamente accoppiato.

Modularità

È la capacità di suddividere il codice in librerie di classi totalmente liberamente accoppiate in parti e riunirle in fase di esecuzione in un insieme coeso per l'utente finale, mentre il codice rimane completamente disaccoppiato.

Composizione / regioni dell'interfaccia utente

È la capacità di collegare le viste ai contenitori senza che la vista che esegue il collegamento, necessiti di un riferimento esplicito al contenitore dell'interfaccia utente stesso.

Navigazione

Prism ha funzionalità di navigazione che si sovrappongono alle regioni, come la navigazione in avanti e all'indietro e lo stack di navigazione che consente ai modelli di visualizzazione di partecipare direttamente al processo di navigazione.

Comandi

Prism ha comandi quindi hanno un comando delegato che è molto simile a MyICommand che abbiamo usato nei capitoli precedenti tranne che ha una maggiore robustezza per proteggerti dalle perdite di memoria.

Eventi Pub / Sub

Prism supporta anche gli eventi Pub / Sub. Si tratta di eventi liberamente accoppiati in cui l'editore e il sottoscrittore possono avere durate diverse e non devono avere riferimenti espliciti l'uno all'altro per comunicare tramite eventi.

MVVM Light

MVVM Light è prodotto da Laurent Bugnion e ti aiuta a separare la tua vista dal tuo modello, creando applicazioni più pulite e più facili da mantenere ed estendere.

  • Crea anche applicazioni testabili e consente di avere uno strato di interfaccia utente molto più sottile (che è più difficile da testare automaticamente).

  • Questo toolkit pone un'enfasi particolare sull'apertura e la modifica dell'interfaccia utente in Blend, inclusa la creazione di dati in fase di progettazione per consentire agli utenti di Blend di "vedere qualcosa" quando lavorano con i controlli dei dati.

Caliburn Micro

Questo è un altro piccolo framework open source che ti aiuta a implementare il pattern MVVM e supporta anche una serie di cose out-of-the-box.

  • Caliburn Micro è un framework piccolo ma potente, progettato per la creazione di applicazioni su tutte le piattaforme XAML.

  • Con un forte supporto per MVVM e altri modelli di interfaccia utente collaudati, Caliburn Micro ti consentirà di creare rapidamente la tua soluzione, senza la necessità di sacrificare la qualità del codice o la testabilità.