Pergunta

Eu li uma série de bons artigos sobre o padrão Model-View-ViewModel e minha equipe pretende implementar este padrão na versão mais recente de nosso aplicativo. Eu ainda não começ completamente todos os bits que vão juntos para fazer este trabalho. Eu gostaria de encontrar um bom exemplo desse padrão que eu possa trabalhar. Algo em pequena escala, bem como Jason Dolinger faz em seu vídeo aqui , mas eu gostaria algo que eu possa trabalhar através de meu próprio em um ritmo mais lento.

Agradecemos antecipadamente a sua ajuda.

Foi útil?

Solução

Basicamente um ViewModel é um invólucro em torno do modelo. Agora que pode não ser muito útil ainda :-) Pense do modelo, como os dados de seu aplicativo funciona com, digamos, uma pessoa. Agora, uma pessoa tem um aniversário e você pode querer ter um formulário para inserir o aniversário da pessoa. Suponha que estamos usando apenas um simples TextBox os shows data até algo como 01-02-2009 12:00:00. Para começar nós não queremos a parte da hora e também pode não ser a feliz sobre a parte 01-02-2009 pois isso depende das suas configurações locais.

Então aqui o ViewModel vem im. Ela envolve a classe Pessoa e exposto a data como valores inteiros de três, ano, mês e dia. No conjunto de propriedades que tenta construir uma data a partir dos diferentes valores e exibe quaisquer erros que possam ocorrer.

Então simplesmente disse um ViewModel é um wrapper Modelo especificamente voltada para uma visão particular (visualização). Ele elimina a maioria dos IValueConvertors ao mesmo tempo.

Josh Smith tem uma explicação agradável aqui: http://joshsmithonwpf.wordpress.com/2008/11/14/using-a-viewmodel-to-provide-meaningful-validation-error-messages e uma grande discussão aqui: < a href = "http://groups.google.com/group/wpf-disciples/browse_thread/thread/3fe270cd107f184f?pli=1" rel = "noreferrer"> http://groups.google.com/group/wpf- discípulos / browse_thread / thread / 3fe270cd107f184f? pli = 1

Outras dicas

Prism 4.0 agora inclui documentação para criação de aplicativos MVVM. Esta é direcionado para o uso das bibliotecas Prism mas os conceitos trabalhar para o padrão MVVM em geral.

http://compositewpf.codeplex.com/releases

Aqui está mais um para adicionar à lista: Simple MVVM Toolkit por Tony Sneed (sinceramente): http: // simplemvvmtoolkit. codeplex.com .

O kit consiste de classes auxiliares, Visual modelos de item Studio e trechos de código. Além do kit de ferramentas actual, há um aplicativo de exemplo com instruções passo-a-passo sobre como construir um aplicativo Silverlight básico usando o padrão MVVM.

Nikhil Kothari tem um post sobre como usar esse padrão com a sua biblioteca Silverlight.FX. Confira aqui: http://www.nikhilk.net/ViewModel-Pattern-DLR aspx

Eu passei por muitos recentemente, os dois que se destacam são:

O Dan Wahlin (LIDNUG):

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

de John Papa (PDC 2010):

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

A melhor explicação de um ViewModel foi dada por Scott Hanselman durante sua palestra MVC na Europa.

A resposta one-liner é - É um modelo (classe) que é criado com o único propósito de enviar todos os dados necessários que um determinado Visualização de necessidades e também para receber dados modificados a partir da exibição em caso de dois maneira ligações.

Dê uma olhada no meu artigo sobre MVVM vida real em Silverlight. Embora não seja para recém-chegados e, tendo como alvo os desenvolvedores em sua maioria de especialistas que trabalham em projetos da vida real.

http: //alexburtsev.wordpress .com / 2011/03/05 / mvvm-pattern-in-Silverlight e WPF /

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top