MVVM é um padrão de design para separar interface, lógica e dados em softwares. A View é a interface gráfica, a ViewModel liga a View à Model, que contém a lógica e os dados.
Você vai ler nesse artigo:
O que é MVVM – Model View ViewModel?
Model-view-viewmodel (MVVM) é um padrão de arquitetura de software ou esquema de design de software. É uma variante do padrão “Presentation Model Design” de Martin Fowler.
O MVVM abstrai o status “view” e o comportamento. Enquanto o modelo de “apresentação” abstrai uma visão (cria um modelo de visão) de uma maneira que não depende de uma plataforma de interface de usuário específica.
O MVVM foi desenvolvido por Ken Cooper e Ted Peters da Microsoft para simplificar a programação de eventos de interfaces de usuário usando recursos do Windows Presentation Foundation (WPF) (Microsoft .NET Graphical System) e do Silverlight (Derivative Internet Application).
O padrão arquitetônico foi anunciado pela primeira vez no blog John Gossman em 2005.
Model (modelo)
- O modelo no MVVM é uma implementação do modelo de domínio do aplicativo que inclui um modelo de dados juntamente com a lógica de negócios e a lógica de validação.
- Exemplos de objetos de modelo incluem repositórios, objetos de negócios, objetos de transferência de dados (DTOs), objetos CLR antigos e simples (pocos) e objetos gerados por entidades e proxy.
View (visão)
- A visão é responsável por definir a estrutura, o layout e a aparência do que o usuário vê na tela.
- Idealmente, a exibição é definida exclusivamente com XAML, com um número limitado de code-behinds que não contém lógica de negócios.
ViewModel
- O modelo de visão age como um intermediário entre a visão e o modelo, e é responsável por gerenciar a lógica da visão.
- Geralmente, o modelo de visualização interage com o modelo invocando métodos nas classes de modelo.
- O modelo de vista, em seguida, fornece dados do modelo em uma forma que a visão pode facilmente usar.
Binder (fichário)
- O mecanismo fundamental para esse padrão com o qual o modelo de exibição e a exibição são constantemente sincronizados.
- Geralmente por meio de uma sintaxe declarativa dentro da própria exibição.
- Isso implica que as alterações nos dados feitas pelo usuário por meio da visualização serão relatadas automaticamente no modelo de visualização. Sem esse ônus para o desenvolvedor.
Da mesma forma, quaisquer alterações feitas nos dados contidos no modelo de exibição serão representadas automaticamente na exibição.
Mais livros e downloads relacionados
A seguir, recomentamos outros artigos e livros sobre engenharia de software, com discussões essenciais para o sucesso de qualquer projeto de desenvolvimento de software.
- Livro:- Scrum, Kanban e Scrumban
- Livro – “The Design Sprint: O método usado pelo Google”
- Livro “Engenharia de Requisitos: software orientado ao negócio”
- Livro – “Scrum: A arte de fazer o dobro do trabalho na metade do tempo”
- Livro – “UML 2: Uma Abordagem Prática” de Gilleanes T. A. Guedes
- Livro – Código Limpo: Habilidades Práticas do Agile Software (PDF)