O componente Controller do MVC:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: A
O componente Controller do padrão MVC (Model-View-Controller) é responsável por definir o comportamento da aplicação, gerenciar as ações do usuário que atualizam os componentes de dados e selecionar os componentes para exibir as respostas das requisições. Vamos entender por que essa alternativa é a correta e analisar as incorreções das demais alternativas.
Justificativa da alternativa correta (A):
A alternativa A é correta porque descreve exatamente o papel do Controller no padrão MVC. O Controller age como um intermediário entre o Model (dados e lógica de negócio) e a View (interface de usuário). Ele recebe as entradas do usuário, executa a lógica de negócio apropriada chamando métodos no Model e, finalmente, decide qual View deve ser exibida para o usuário.
Análise das alternativas incorretas:
Alternativa B: Esta alternativa está incorreta porque descreve o papel da View e não do Controller. A View é responsável por enviar as entradas do usuário para o Controller e por receber os dados do Model para exibir-los.
Alternativa C: Esta alternativa está incorreta porque mistura responsabilidades do Model e do Controller. O Model é quem responde às queries e encapsula o estado da aplicação. O Controller não deve ser responsável por armazenar o estado da aplicação.
Alternativa D: Esta alternativa descreve o papel do Model e da View. O Model notifica a View sobre as mudanças nos dados, e a View expõe a funcionalidade ao usuário. Não é função do Controller notificar componentes de apresentação diretamente.
Alternativa E: Esta alternativa está incorreta porque sugere que o Controller concentra todas as regras de negócio e o acesso aos dados, o que é função do Model. O Controller deve apenas invocar métodos no Model que encapsulam essas regras.
Para resolver questões como essa, é necessário entender profundamente as responsabilidades de cada componente no padrão MVC. O Model gerencia dados e regras de negócio, a View exibe dados e interações com o usuário, e o Controller atua como intermediário coordenando as interações entre o Model e a View.
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
a) Define o comportamento da aplicação, as ações do usuário para atualizar os componentes de dados e seleciona os componentes para exibir respostas de requisições. CORRETA
Um controlador define o comportamento da aplicação , é ele que interpreta as ações do usuário e as mapeia para chamadas do modelo. Em um cliente de aplicações Web essas ações do usuário poderiam ser cliques de botões ou seleções de menus. As ações realizadas pelo modelo incluem ativar processos de negócio ou alterar o estado do modelo. Com base na ação do usuário e no resultado do processamento do modelo , o controlador seleciona uma visualização a ser exibida como parte da resposta a solicitação do usuário. Há normalmente um controlador para cada conjunto de funcionalidades relacionadas.
A arquitetura de 3 camadas que esta representada abaixo é uma implementação do modelo MVC . O modelo MVC esta preocupado em separar a informação de sua apresentação.
O colega abaixo explicou corretamente porque a alternativa A está correta.
Seguem os porquês dos erros das demais alternativas:
Define o comportamento da aplicação, as ações do usuário para atualizar os componentes de dados e seleciona os componentes para exibir respostas de requisições. CERTA
Envia requisições do usuário para o controlador e recebe dados atualizados dos componentes de acesso a dados. VIEW
Responde às solicitações de queries e encapsula o estado da aplicação. MODEL
Notifica os componentes de apresentação das mudanças efetuadas nos dados e expõe a funcionalidade da aplicação. VIEW
É onde são concentradas todas as regras de negócio da aplicação e o acesso aos dados. MODEL
a-
MVC (model-view-controller)propõe a divisão das responsabilidades de uma aplicação em 3 camadas?
1. View: renderização da interface gráfica
2. Controller: receber e tratar os eventos da View.
3. Model: lógica de negócios.
Em algumas IDEs, é possível gerar Views e Controllers automaticamente a partir de classes de domínio.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo