Dentro dos padrões arquiteturais de software, a arquitetura ...

Próximas questões
Com base no mesmo assunto
Q873494 Arquitetura de Software
Dentro dos padrões arquiteturais de software, a arquitetura Model-View-ViewModel (MVVM) é próxima da arquitetura Model-View-Presenter (MVP), porém diferencia-se desta pelo fato de
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é B - implementar o padrão de projeto Observer na ligação entre dados (ViewModel) e tela (view).

Vamos entender por que a alternativa B é a correta e as demais são incorretas.

Arquitetura MVVM (Model-View-ViewModel): A arquitetura MVVM é amplamente utilizada em aplicações que exigem uma boa separação das preocupações e permitem um fácil teste unitário. A principal característica do MVVM é a ligação bidirecional de dados (data binding) entre a View (a interface do usuário) e o ViewModel (a representação dos dados e lógica de apresentação).

O ViewModel notifica a View sobre as mudanças nos dados, e a View pode atualizar os dados no ViewModel diretamente. Essa comunicação é frequentemente implementada usando o padrão de projeto Observer, onde a View observa as mudanças no ViewModel.

Já a alternativa Model-View-Presenter (MVP) é semelhante ao MVVM, mas não utiliza essa ligação automática de dados. Em MVP, o Presenter lida diretamente com a lógica de apresentação e atualiza a View de maneira explícita.

Justificativa das Alternativas:

Alternativa A: “Ser desprovida de um componente controlador como existe no Model-View-Controller (MVC).”

Embora o MVVM não tenha um controlador como o MVC, isso não é uma distinção específica em relação ao MVP. Ambas as arquiteturas (MVVM e MVP) não possuem um controlador como no MVC, então essa alternativa não é exclusiva do MVVM.

Alternativa B: “Implementar o padrão de projeto Observer na ligação entre dados (ViewModel) e tela (view).”

Essa é a alternativa correta. O MVVM utiliza o padrão Observer para manter a View e o ViewModel sincronizados através de data binding, o que é uma característica distinta desta arquitetura.

Alternativa C: “Ligar diretamente as classes de tela (view) e dados (Model) dentro da estrutura do projeto.”

Isso é algo que o MVVM evita. A principal vantagem do MVVM é que a View e o Model não se comunicam diretamente. Em vez disso, a View se comunica com o ViewModel, que então interage com o Model. Portanto, essa alternativa está incorreta.

Alternativa D: “Vincular a realização de atualizações de tela (view) à atualização de dados (ViewModel).”

Embora essa descrição não esteja totalmente incorreta, ela é um tanto vaga e não específica o suficiente para ser considerada uma característica distintiva quando comparada com o MVP. O MVP também pode vincular a atualização da tela através do Presenter, mas não utiliza data binding automático como o MVVM.

Portanto, a alternativa B é a que melhor descreve a principal diferença entre MVVM e MVP.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

GAB "B "

Implementar o padrão de projeto Observer na ligação entre dados (ViewModel) e tela (view).

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo