Pular para o conteúdo principal

Questão de Arquitetura de Software — MVC (Model-view-controller) — CESPE / CEBRASPE 2019

Arquitetura de SoftwareMVC (Model-view-controller)
Código
ce107069
Banca
CESPE / CEBRASPE
Órgão
CGE - CE
Ano
2019
Nível
Superior
Cargo
CESPE - - Auditor de Controle Interno - Tecnologia da Informação
Em uma aplicação de votação online desenvolvida em três camadas do tipo MVC, o controller é responsável por
  1. Atransformar eventos gerados pela view em ações de negócio, alterando o model.
  2. Btransformar eventos gerados pela view em ações temporárias de negócio
  3. Cmanipular a tela com dados de negócio que podem ser alterados diretamente com o banco de dados.
  4. Dmanipular o model do sistema responsável pela interface com o cliente.
  5. Ealterar a view do sistema que contém a lógica do negócio.
Revelar gabarito e comentário

GabaritoA — transformar eventos gerados pela view em ações de negócio, alterando o model.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

MVC (Model-View-Controller)

Gabarito: letra A. No padrão MVC, o Controller (Controlador) é o componente que recebe as requisições do usuário (eventos gerados pela View), interpreta essas entradas e as transforma em ações que atualizam o Model (Modelo), conforme descrito na literatura do padrão. Essa é exatamente a definição da alternativa A.

A banca cobra o conhecimento do fluxo de responsabilidades no MVC. O Controlador atua como intermediário entre a View e o Model, nunca manipulando diretamente a interface ou o banco de dados, e não contendo lógica de negócio.

1Controller
Recebe eventos da View
Transforma em ações de negócio
Altera o Model
Intermediário entre View e Model
2View
Interface com o cliente
Exibe dados do Model
3Model
Lógica de negócio
Acesso a dados/banco
MVC (Model-View-Controller)
LEVELsoulevel.com.br
MVC (Model-View-Controller): Controller (Recebe eventos da View, Transforma em ações de negócio, Altera o Model, Intermediário entre View e Model); View (Interface com o cliente, Exibe dados do Model); Model (Lógica de negócio, Acesso a dados/banco)

Alternativa A — ✅ Correta ⟵ GABARITO

A alternativa descreve com precisão o papel do Controller: transformar eventos da View (como cliques, submissões de formulário) em ações de negócio que alteram o Model. O Controller coordena a lógica de aplicação, chamando métodos do Model conforme a interação do usuário.

Contexto (MVC – Wikipédia):

"Controle é o componente final da tríade, faz a mediação da entrada e saída, comandando a visão e o modelo para serem alterados de forma apropriada conforme o usuário solicitou... O Controlador envia comandos para o modelo para atualizar o seu estado."

Alternativa B — ❌ Incorreta

A alternativa afirma que o Controller transforma eventos em "ações temporárias de negócio". O termo "temporárias" não corresponde à definição do padrão. O Controller executa ações completas e permanentes de negócio, atualizando o Model de forma definitiva. Não há previsão de ações temporárias.

Alternativa C — ❌ Incorreta

Afirma que o Controller "manipula a tela com dados de negócio que podem ser alterados diretamente com o banco de dados". Isso confunde o papel do Controller com o da View (manipular a tela) e com o do Model (acesso ao banco). No MVC, quem gerencia a exibição é a View; quem acessa dados e regras de negócio é o Model. O Controller apenas coordena o fluxo.

Alternativa D — ❌ Incorreta

Diz que o Controller "manipula o model do sistema responsável pela interface com o cliente". O Model não é responsável pela interface – essa é função da View. O Controller interage com o Model, mas não é o Model da interface.

Alternativa E — ❌ Incorreta

Afirma que o Controller "altera a view do sistema que contém a lógica do negócio". A View não contém lógica de negócio; ela é apenas a camada de apresentação. A lógica de negócio reside no Model. Embora o Controller possa atualizar a View (indiretamente, após alterar o Model), a descrição está errada ao atribuir lógica de negócio à View.

PEGA ESSA DICA!

No MVC, lembre-se: Model = dados + regras; View = apresentação; Controller = orquestrador. O Controller recebe entradas, decide qual ação de negócio executar (chamando o Model) e qual View exibir. Nunca confunda as responsabilidades.

Gabarito: letra A.

Link permanente: /questoes/ce107069