Questão de Arquitetura de Software — MVC (Model-view-controller) — CESPE / CEBRASPE 2026
Arquitetura de Software›MVC (Model-view-controller)
Código
ce225586
Banca
CESPE / CEBRASPE
Órgão
IPAAM
Ano
2026
Nível
Superior
Cargo
Analista Ambiental – Especialidade: Análise de Sistemas
O padrão arquitetural MVC (model-view-controller) estabelece uma separação clara de responsabilidades entre seus componentes, com o objetivo de organizar a aplicação, facilitar sua manutenção e permitir a evolução do software ao longo do tempo. A respeito das funções atribuídas aos componentes do padrão MVC, julgue os itens a seguir.I Model é responsável por representar os dados da aplicação e implementar as regras de negócio associadas.II View recebe as entradas do usuário e coordena a interação entre os componentes do sistema.III Controller tem como função principal apresentar as informações ao usuário final, refletindo o estado do model.Assinale a opção correta.
AApenas o item I está certo.
BApenas o item II está certo.
CApenas os itens I e III estão certos.
DApenas os itens II e III estão certos.
ETodos os itens estão certos.
Revelar gabarito e comentário▾
GabaritoA — Apenas o item I está certo.
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. Apenas o item I está correto, pois descreve fielmente a responsabilidade do Model: representar dados e implementar regras de negócio. O item II erra ao atribuir à View o recebimento de entradas do usuário e a coordenação da interação — funções do Controller. O item III erra ao atribuir ao Controller a apresentação de informações ao usuário — função da View. A definição clássica do padrão MVC, descrita por Trygve Reenskaug e consolidada na literatura, confirma essas atribuições.
Componente
Responsabilidade
Model
Gerencia dados e regras de negócio
View
Apresenta dados ao usuário (saída)
Controller
Recebe entradas do usuário, coordena e atualiza Model e View
MVC (Model-View-Controller): Model (Gerencia dados, Regras de negócio); View (Apresenta dados (saída), Recebe entradas do usuário, Coordena interação); Controller (Recebe entradas do usuário, Coordena Model e View, Apresenta informações ao usuário)
Item I — ✅ Correto
O Model (Modelo) gerencia os dados da aplicação e contém a lógica de negócio. Ele é responsável por armazenar, manipular e fornecer os dados, além de implementar as regras que regem o comportamento do sistema. Conforme descrito no material de apoio: "Modelo é a ponte entre as camadas Visão e Controle, consiste na parte lógica da aplicação, que gerencia o comportamento dos dados através de regras de negócios, lógica e funções." Essa é a definição padrão do MVC.
Item II — ❌ Incorreto
A View (Visão) tem como função apresentar os dados ao usuário (gerar a saída visual), não receber entradas. Quem recebe e interpreta as ações do usuário (cliques, teclas, toques) e coordena a interação entre os componentes é o Controller (Controlador). O erro está em atribuir à View a função de "receber entradas do usuário" e "coordenar a interação". O material de apoio afirma: "Visão pode ser qualquer saída de representação dos dados", enquanto "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."
Item III — ❌ Incorreto
O Controller não tem como função principal apresentar informações ao usuário; essa é a função da View. O Controller recebe as ações do usuário e decide como processá-las, acionando o Model e determinando qual View será exibida. A frase "Controller tem como função principal apresentar as informações ao usuário final, refletindo o estado do model" inverte os papéis: quem reflete o estado do Model é a View. No material: "Controle... faz a mediação da entrada e saída" e "Visão provoca interações com o usuário... apenas mostra a referência." Portanto, o item III está incorreto.
NÃO CAIA NESSA!
A banca adora trocar as responsabilidades entre View e Controller. No item II, a View recebe atribuições do Controller (receber entradas e coordenar). No item III, o Controller recebe atribuição da View (apresentar dados). Decore: Model = dados/regras, View = apresentação, Controller = entrada/coordenação.
Conclusão: Apenas o item I está correto, portanto a alternativa correta é a letra A.