Questão de Arquitetura de Software — MVC (Model-view-controller) — FGV 2024
Arquitetura de Software›MVC (Model-view-controller)
Código
fg089954
Banca
FGV
Órgão
Prefeitura de Macaé - RJ
Ano
2024
Nível
Superior
Cargo
Analista Previdenciário - Especialidade: Analista de Sistemas
A arquitetura de software com 3 camadas combinada com o padrão de design MVC (Model-View-Controller) é uma abordagem comum para o desenvolvimento de aplicações que promove a separação de preocupações e a modularidade. Na arquitetura de software com 3 camadas combinada com o padrão de design MVC (Model-View-Controller), em relação à responsabilidade de cada camada é correto afirmar que a camada
Ade visão (View) gerencia a lógica de negócios, a camada de controlador (Controller) realiza a persistência de dados, e a camada de modelo (Model) exibe a interface ao usuário.
Bde modelo (Model) é responsável pela interação com o banco de dados e lógica de negócios, a camada de visão (View) apresenta os dados ao usuário, e a camada de controlador (Controller) gerencia as interações entre a visão e o modelo.
Cde controlador (Controller) realiza a persistência de dados, a camada de visão (View) lida com a lógica de negócios e a camada de modelo (Model) exibe a interface ao usuário.
Dde visão (View) lida com a lógica de negócios, a camada de modelo (Model) realiza a comunicação com o banco de dados, e a camada de controlador (Controller) exibe os dados ao usuário.
Emodelo (Model) gerencia a apresentação dos dados ao usuário, a camada de visão (View) realiza a lógica de negócios, e a camada de controlador (Controller) faz a persistência de dados.
Revelar gabarito e comentário▾
GabaritoB — de modelo (Model) é responsável pela interação com o banco de dados e lógica de negócios, a camada de visão (View) apresenta os dados ao usuário, e a camada de controlador (Controller) gerencia as interações entre a visão e o modelo.
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”.
O padrão MVC (Model-View-Controller) e as responsabilidades
Gabarito: letra B. A alternativa B descreve corretamente as funções de cada camada: Model gerencia dados e lógica de negócios (incluindo persistência), View apresenta os dados ao usuário e Controller faz a mediação entre View e Model. As demais alternativas trocam ou invertem essas responsabilidades.
O padrão MVC separa a aplicação em três componentes interconectados:
Model (Modelo): responsável pelos dados, regras de negócio, lógica de processamento e interação com o banco de dados. É a camada que encapsula o estado e o comportamento do domínio.
View (Visão): responsável pela apresentação dos dados ao usuário (interface gráfica, HTML, etc.). Ela exibe as informações do Model e pode receber interações do usuário, mas não contém lógica de negócio.
Controller (Controlador): atua como intermediário entre View e Model. Recebe as requisições do usuário, interpreta as entradas, aciona o Model apropriado e atualiza a View conforme necessário.
Análise das alternativas
Camada
Responsabilidade Correta (Gabarito B)
Alternativa A
Alternativa C
Alternativa D
Alternativa E
Model
Dados, lógica de negócios e persistência
Exibe interface ao usuário
Exibe interface ao usuário
Comunicação com banco de dados
Gerencia apresentação dos dados
View
Apresentação dos dados ao usuário
Gerencia lógica de negócios
Lida com lógica de negócios
Lida com lógica de negócios
Realiza lógica de negócios
Controller
Mediação entre View e Model
Realiza persistência de dados
Realiza persistência de dados
Exibe dados ao usuário
Faz persistência de dados
Alternativa A — ❌ Incorreta
Afirma que a View gerencia lógica de negócios (na verdade é o Model), o Controller realiza persistência de dados (tarefa do Model) e o Model exibe a interface (tarefa da View). Há uma inversão completa das responsabilidades.
Alternativa B — ✅ Correta ⟵ GABARITO
Descreve exatamente as funções de cada camada: Model (dados e lógica de negócios), View (apresentação) e Controller (mediação). É a definição clássica do padrão MVC.
Alternativa C — ❌ Incorreta
Atribui ao Controller a persistência de dados (na verdade é o Model), à View a lógica de negócios (tarefa do Model) e ao Model a exibição da interface (tarefa da View). Novamente, todas as responsabilidades estão trocadas.
Alternativa D — ❌ Incorreta
Diz que a View lida com lógica de negócios (erro), o Model realiza comunicação com o banco de dados (parcialmente correto, mas a View não deve ter lógica) e o Controller exibe dados (tarefa da View). A descrição está confusa e incorreta.
Alternativa E — ❌ Incorreta
Afirma que o Model gerencia apresentação (tarefa da View), a View realiza lógica de negócios (tarefa do Model) e o Controller faz persistência (tarefa do Model). Mais uma inversão de papéis.
NÃO CAIA NESSA!
A banca troca as responsabilidades entre as camadas para testar se o candidato compreende corretamente o papel de cada uma. Memorize: Model = dados/regras; View = apresentação; Controller = mediação.