Pular para o conteúdo principal

Questão de Arquitetura de Software — MVC (Model-view-controller) — FUNDATEC 2023

Arquitetura de SoftwareMVC (Model-view-controller)
Código
qq896809
Banca
FUNDATEC
Órgão
PROCERGS
Ano
2023
Nível
Superior
Cargo
ANC - Analista em Computação - Ênfase em Programação de Sistemas na Tecnologia Java
Sobre o padrão MVC (Model-View-Controller) de projeto, analise as assertivas abaixo:I. Model é responsável por invocar as regras de negócio e enviar as informações para serem exibidas pela View.II. View faz a captação das ações e a atualização das informações exibidas ao usuário.III. Controller mantém e realiza a alteração do estado dos valores que são fornecidos à View.Quais estão corretas?
  1. AApenas II.
  2. BApenas I e II.
  3. CApenas I e III.
  4. DApenas II e III.
  5. EI, II e III.
Revelar gabarito e comentário

GabaritoA — Apenas II.

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”.

Padrão MVC – Responsabilidades dos Componentes

Gabarito: letra A. Apenas a afirmativa II está correta, pois a View é responsável por capturar ações do usuário e atualizar a exibição, enquanto o Model encapsula as regras de negócio (sem invocá-las) e o Controller coordena o fluxo (sem manter o estado). Essa interpretação está alinhada com a descrição clássica do padrão MVC, conforme o material de apoio.

1Model
Encapsula dados e regras de negócio
Mantém o estado
Não invoca regras
Não envia info diretamente à View
2View
Interface com o usuário
Captura ações do usuário
Atualiza exibição
3Controller
Intermediário entre View e Model
Recebe ações e aciona Model
Não mantém estado
Não altera estado
MVC
LEVELsoulevel.com.br
MVC: Model (Encapsula dados e regras de negócio, Mantém o estado, Não invoca regras, Não envia info diretamente à View); View (Interface com o usuário, Captura ações do usuário, Atualiza exibição); Controller (Intermediário entre View e Model, Recebe ações e aciona Model, Não mantém estado, Não altera estado)

Afirmativa I — ❌ Incorreta

O Model é o componente que encapsula os dados e as regras de negócio, mas não é ele quem invoca essas regras. Quem invoca as regras de negócio no MVC é o Controller, que recebe as requisições do usuário e aciona os métodos do Model. Além disso, o Model não envia informações diretamente para a View; ele notifica as Views sobre mudanças no estado, e estas se atualizam por conta própria (ou são atualizadas pelo Controller). Portanto, a afirmativa está errada.

Afirmativa II — ✅ Correta

A View é a camada responsável pela interface com o usuário. Ela captura as ações do usuário (cliques, digitação, requisições) e as encaminha ao Controller. Também atualiza as informações exibidas com base no estado do Model. No contexto de aplicações web, por exemplo, um formulário HTML (View) captura os dados inseridos e os envia ao Controller. A afirmativa reflete corretamente esse papel duplo da View: captação de ações e atualização da exibição.

Afirmativa III — ❌ Incorreta

O Controller não mantém nem altera o estado dos valores. A responsabilidade de manter o estado da aplicação é exclusivamente do Model. O Controller atua como intermediário: recebe as ações do usuário, chama os métodos apropriados no Model (que altera o estado) e, em seguida, coordena a View para refletir as mudanças. O Controller não armazena estado; ele apenas orquestra o fluxo entre View e Model.

Conclusão: Apenas a afirmativa II está correta, portanto o gabarito é a letra A (Apenas II).

Link permanente: /questoes/qq896809