Com relação aos componentes do padrão MVC, assinale a opção ...

Próximas questões
Com base no mesmo assunto
Q930467 Arquitetura de Software
Com relação aos componentes do padrão MVC, assinale a opção correta.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a E - O controlador notifica às visões sobre mudanças no estado da aplicação.

Vamos entender o porquê desta ser a alternativa correta e por que as outras estão incorretas.

Tema da questão:

A questão aborda o padrão arquitetural MVC (Model-View-Controller), que é uma técnica amplamente utilizada no desenvolvimento de software para separar as responsabilidades da aplicação em três componentes principais: Model (Modelo), View (Visão) e Controller (Controlador).

Conhecimentos necessários:

Para resolver a questão, é fundamental ter uma compreensão clara das responsabilidades de cada componente do padrão MVC:

  • Model (Modelo): Representa os dados e a lógica de negócios da aplicação. Ele encapsula o estado da aplicação e implementa a lógica para manipulação desses dados.
  • View (Visão): Responsável pela apresentação dos dados ao usuário. Ela recebe as informações do Model e as exibe de maneira apropriada.
  • Controller (Controlador): Atua como um intermediário que processa as entradas do usuário, manipula os dados no Model e atualiza a View conforme necessário. Ele também é responsável por notificar a View sobre qualquer mudança no estado do Model.

Justificativa da alternativa correta:

E - O controlador notifica às visões sobre mudanças no estado da aplicação.

Esta alternativa está correta porque uma das responsabilidades principais do Controlador é justamente notificar a View sobre qualquer alteração no estado do Model. Isso garante que a interface do usuário esteja sempre sincronizada com os dados mais recentes da aplicação.

Análise das alternativas incorretas:

A - O controlador responde a consultas.

Esta alternativa está incorreta porque o Controlador não é responsável por responder consultas diretamente. Sua função principal é receber a entrada do usuário, processar essa entrada e invocar métodos no Model.

B - O controlador visualiza os modelos.

Esta alternativa está incorreta porque o Controlador não visualiza os Modelos. Na verdade, ele interage com os Modelos para manipular dados, mas a visualização desses dados é responsabilidade da View.

C - O controlador encapsula o estado da aplicação.

Esta alternativa está incorreta porque quem encapsula o estado da aplicação é o Model, e não o Controlador. O Model é responsável por gerenciar os dados e a lógica de negócios da aplicação.

D - O controlador expõe as funcionalidades da aplicação.

Esta alternativa está incorreta porque o Controlador não expõe as funcionalidades diretamente. Ele atua como intermediário, recebendo comandos do usuário e invocando métodos no Model para realizar operações.

Espero que estas explicações ajudem a esclarecer o funcionamento do padrão MVC e a importância de cada um de seus componentes. Se precisar de mais alguma coisa, estou à disposição!

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

Camada de Controle - É responsável por interpretar as ações de entrada através do mouse e teclado realizadas pelo usuário. O Controle (Controller) envia essas ações para o Modelo (Model) e para a janela de visualização (View) onde serão realizadas as alterações necessárias.

Fonte: https://pt.wikipedia.org/wiki/MVC

O controlador NÃO visualiza os modelos?

O correto aqui não seria a D?

D - O controlador expõe as funcionalidades da aplicação.

O controlador atua como um intermediário que interpreta ações do usuário e aciona as funcionalidades apropriadas, portanto, ele expõe a lógica de interação da aplicação.

E - O controlador notifica às visões sobre mudanças no estado da aplicação.

É o modelo que geralmente notifica as visões quando há mudanças de estado.

Essa questão se contradiz com outra questão do próprio concurso (). Não entendi.

Clique para visualizar este comentário

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