Domanda

Ho letto una serie di buoni articoli sul modello Model-View-ViewModel e il mio team intende implementare questo modello nell'ultima versione della nostra app. Non riesco ancora a TUTTI i pezzi che vanno insieme per far funzionare questo. Vorrei trovare un buon esempio di questo modello su cui posso elaborare. Qualcosa su piccola scala, proprio come fa Jason Dolinger nel suo video qui , ma mi piacerebbe qualcosa su cui posso lavorare da solo a un ritmo più lento.

Grazie in anticipo per il tuo aiuto.

È stato utile?

Soluzione

Fondamentalmente un ViewModel è un wrapper attorno al modello. Ora potrebbe non essere ancora molto utile :-) Pensa al modello come ai dati con cui lavora la tua applicazione, ad esempio una persona. Ora una persona ha un compleanno e potresti voler avere un modulo per inserire il compleanno della persona. Supponiamo che stiamo semplicemente usando un semplice TextBox la data mostra qualcosa come 01-02-2009 12:00:00 AM. Per i principianti non vogliamo la parte temporale e potremmo anche non essere contenti della parte 01-02-2009 poiché dipende dalle impostazioni locali.

Quindi qui ViewModel arriva im. Avvolge la classe Person ed espone la data come tre valori interi, anno, mese e giorno. Nel set di proprietà tenta di creare una data con valori diversi e visualizza eventuali errori che possono verificarsi.

Quindi, semplicemente detto un ViewModel è un wrapper Modello specificamente orientato verso una vista particolare (display). Elimina contemporaneamente la maggior parte dei convertitori IValue.

Josh Smith ha una bella spiegazione qui: http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages e una grande discussione qui: < a href = "http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1" rel = "noreferrer"> http://groups.google.com/group/wpf- discepoli / browse_thread / thread / 3fe270cd107f184f? pli = 1

Altri suggerimenti

Prism 4.0 ora include la documentazione per la creazione di applicazioni MVVM. Questo è mirato all'uso delle librerie Prism ma i concetti funzionano per il modello MVVM in generale.

http://compositewpf.codeplex.com/releases

Eccone un altro da aggiungere all'elenco: Simple MVVM Toolkit di Tony Sneed (il tuo veramente): http: // simplemvvmtoolkit. codeplex.com .

Il toolkit è costituito da classi di supporto, modelli di elementi di Visual Studio e frammenti di codice. Oltre all'attuale toolkit, esiste un'app di esempio con istruzioni dettagliate su come creare un'app Silverlight di base utilizzando il modello MVVM.

Nikhil Kothari ha un post su come usare quel modello con la sua libreria Silverlight.FX. Dai un'occhiata qui: http://www.nikhilk.net/ViewModel-Pattern-DLR aspx

Ne ho affrontati molti di recente, i due che si distinguono sono:

Dan Wahlin's (LIDNUG):

http://www.lidnug.org/Archives.aspx

John Papa's (PDC 2010):

http://player.microsoftpdc.com/Session/76864d75 -b4da-4858-aac7-786c5f28e344

La migliore spiegazione di un ViewModel è stata data da Scott Hanselman durante il suo discorso MVC in Europa.

Una risposta a una riga è: è un modello (classe) che viene creato al solo scopo di inviare tutti i dati necessari di una particolare Vista e anche di ricevere dati modificati dalla Vista in caso di due- modi vincolanti.

Dai un'occhiata al mio articolo sulla vita reale MVVM in Silverlight. Anche se non è per i neofiti e si rivolge principalmente a sviluppatori esperti che lavorano su progetti di vita reale.

http: //alexburtsev.wordpress .com / 2011/03/05 / MVVM-modello-in-silverlight-e-WPF /

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top