MVVM – O que é 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.
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.

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.

View Model:

  • 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.

Paranaense com alma paulistana e coração italiano. Bacharel em Engenharia de da Computação (Laurea magistrale in Ingegneria e Scienze Informatiche) pela Università degli Studi di Verona, Técnologo em Sistemas para Internet. Iniciou também uma licenciatura em História Italiana e Letras Clássicas pela Università di Bologna, aventura que infelizmente não foi concluída. Atualmente é acadêmico do curso de Engenharia Civil na Faculdade Mater Dei. Trabalha com desenvolvimento de software desde 2010, especializou-sem em Engenharia de Requisitos, Análise de Negócios e Gerenciamento de Projetos. Ao longo de sua carreira autou em projetos para a administração pública, sistemas de ERP, processamento distruibuído e inteligência artificial.