Model-View-ViewModel (MVVM)

Model-View-ViewModel (MVVM) é um padrão de design de software que é estruturado para separar a lógica do programa e os controles da interface do usuário. MVVM também é conhecido como model-view-binder e foi criado pelos arquitetos da Microsoft Ken Cooper e John Gossman.

Como muitos outros padrões de design, MVVM ajuda a organizar o código e quebrar programas em módulos para tornar o desenvolvimento, atualização e reutilização do código mais simples e rápido. O padrão é frequentemente usado no Windows e no software de apresentação gráfica da web.

O padrão MVVM é usado no Windows Presentation Foundation (WPF), que roda no .NET da Microsoft. Silverlight, um plug-in multimídia equivalente ao Microsoft WPF Internet, também usa MVVM.

A separação do código em MVVM é dividida em View, ViewModel e Model:

  • View é a coleção de elementos visíveis, que também recebe a entrada do usuário. Isto inclui interfaces de usuário (UI), animações e texto. O conteúdo da View não é interagido diretamente para alterar o que é apresentado.
  • ViewModel está localizado entre as camadas View e Model. É aqui que os controles para interagir com o View são alojados, enquanto o binding é usado para conectar os elementos da IU no View aos controles no ViewModel.>>li>Model abriga a lógica para o programa, que é recuperada pelo ViewModel ao receber a sua própria entrada do usuário através do View.

MVVM