Pular para o conteúdo principal

Questão de Arquitetura de Software — MVC (Model-view-controller) — FGV 2024

Arquitetura de SoftwareMVC (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
  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

Gabarito: letra B.

Link permanente: /questoes/fg089954