Dentro dos padrões arquiteturais de software, a arquitetura ...
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