Opaaaaaaaaaaaaa! “Eis que surge a volta dos que não foram.”
Ola pessoal. Nossa meu ultimo post foi em Fevereiro?! Quase um ano sem postar nada?
Serio gente desculpe. Não vou dar nenhuma desculpa ‘esfarrapada’, blog e assim mesmo, às vezes desaparecemos, mas sempre voltamos. Mas tenho trabalhando com muitas coisas interessantes ultimamente, uma delas e o WPF, escolhi para esse projeto o MVVM que posso aproveitar para dar continuidade aos posts sobre padrões de projetos (design-patterns).
O MVVM e um padrão ‘microsoftiniano’ meio que um primo do MVC e MVP, mas voltado para WPF, desculpe não buscar muita historia e histórico do mesmo, mas meu objetivo aqui e só apresenta-lo, quem gosta de historia de como surgiu quem fez e etc, só colocar no São Google! Rsrs
O motivo de existir desse cara e conseguir operacionalizar o caos, como seus primos ele tenta separar em camadas, View – ViewModel – Model, para quem conhece um pouco o WPF, sabe o poder do binding, que é um recurso para ligar o objeto de interface gráfica com o valor de um objeto qualquer, para quem veio do Windows forms C# podemos exemplificar essa frase com o seguinte código:
“txt_nomeUsuario.Text = Usuario.Nome;”
então o binding veio pra mudar essa forma de ligar as coisas. Mas ai e assunto para outro post exclusivo de WPF.
Voltando ao MVVM, com esse recurso de binding a nossa View (UI – Interface Usuário), irá se ligar ao nosso ViewModel, que vai fazer usar o nosso Model (modelo). Simples assim.
Ta bom! Sei que não e tão simples.
Mas não e tão complicado também, segue o raciocínio e se liga nas palavras chaves.
A View (tela onde o usuário vai cadastrar algo ou buscar alguma informação), utiliza de um recurso super poderoso de DataBinding(Pesquisa o que é isso ai), para se comunicar com nossa ViewModel(Classe que e notificada quando da ocorrência de algum evento ou é disparado algum comando), essa trabalha alguma regra de negocio ou transfere essa tarefa para alguma camada especifica trabalhando diretamente o Model(Classe que representa uma ou varias entidades, Ex Usuario, Empresa e etc). Agora ficou fácil não ficou?!
Mas galera e isso ai, eu só queria passar um OverView sobre o tema é reavivar o blog, para quem quer informações mais didática e completas sobre o tema vou deixar abaixo alguns links bem legais sobre o assunto. Existe também um projeto bem bacana de um framework que ajuda bastante na implementação do MVVM, chamado CINCH, que está hospedado no codeplex que também vou deixar o link logo abaixo.
1 – Post Introdução ao MVVM por Josh Smith