Com relação aos componentes do MVC, assinale a opção correta.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa A está correta. Vejamos o porquê:
A - Modelo: encapsula estado de aplicação; responde a consultas de estado; expõe funcionalidade de aplicação; notifica à Visão sobre alterações.
O Modelo é o componente responsável por representar os dados da aplicação e a lógica de negócio. Ele encapsula o estado da aplicação, respondendo a consultas de estado e expondo funcionalidades necessárias. Além disso, o Modelo notifica a Visão sobre qualquer alteração no estado, permitindo que a interface seja atualizada de acordo com os dados mais recentes. Por isso, essa alternativa é correta.
Agora, vamos analisar as alternativas incorretas:
B - Visão: exibe ações do Modelo graficamente; impede atualizações ao Modelo; impede que o Controlador selecione a Visão.
A Visão tem a função de exibir os dados do Modelo de forma gráfica ou textual para o usuário. No entanto, ela não impede que o Modelo seja atualizado. Pelo contrário, a Visão deve refletir as atualizações feitas no Modelo. Além disso, o Controlador pode sim selecionar e interagir com a Visão. Portanto, essa alternativa está incorreta.
C - Controlador: tem comportamento pautado pela aplicação; modela ações do usuário vinculando requisitos a estruturas; seleciona a Visão para a funcionalidade da aplicação.
O Controlador é responsável por manipular a entrada do usuário e interagir com o Modelo para refletir essas mudanças. No entanto, ele não "seleciona a Visão"; ao invés disso, ele atua como intermediário, atualizando o Modelo que, por sua vez, notifica a Visão para que esta se atualize. Por isso, essa alternativa está incorreta.
D - Visão: exibe dados do Controlador graficamente; pede atualizações ao Modelo; permite que a Visão selecione o Controlador.
A Visão exibe dados do Modelo, não do Controlador. Ela não "pede atualizações" ao Modelo, mas sim é notificada pelo Modelo sobre mudanças. Além disso, a Visão não seleciona o Controlador; é o Controlador que interage com a Visão conforme necessário. Portanto, essa alternativa está incorreta.
E - Controlador: define encapsulamento do Modelo; transforma requisitos do usuário em atualizações da Visão; seleciona a Visão para o usuário.
O Controlador não define o encapsulamento do Modelo; isso é responsabilidade do próprio Modelo. Além disso, o Controlador transforma as ações do usuário em mudanças no Modelo, e não diretamente na Visão. A Visão é atualizada indiretamente através das mudanças no Modelo. Portanto, essa alternativa está incorreta.
Espero que esta explicação tenha esclarecido suas dúvidas sobre os componentes do MVC e como eles interagem entre si. Se precisar de mais alguma coisa, estarei à disposição para ajudar!
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
O modelo (model) é usado para definir e gerenciar o domínio da informação e notificar observadores sobre mudanças nos dados. Ele é uma representação detalhada da informação que a aplicação opera. A lógica de negócio adiciona valor semântico aos dados, e quando há mudança de estado o modelo notifica seus observadores. Por exemplo, aluno, professor e turma fazem parte do domínio de um sistema acadêmico. Operações como calcular a média final do aluno ou o índice de faltas da turma fazem parte da lógica de domínio. A forma como o dado é armazenado ou acessado não é de interesse do MVC, assume-se que é de responsabilidade do modelo.
A visão (view) apresenta o modelo num formato adequado ao utilizador, na saída de dados, e diferentes visões podem existir para um mesmo modelo, para diferentes propósitos.
O controlador (controller) recebe a entrada de dados e inicia a resposta ao utilizador ao invocar objetos do modelo, e por fim uma visão baseada na entrada. Ele também é responsável pela validação e filtragem da entrada de dados.


Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo