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
fg084699
Banca
FGV
Órgão
EPE
Ano
2024
Nível
Superior
Cargo
Analista de Gestão Corporativa - Tecnologia da Informação (Soluções)
A arquitetura MVC (Model-View-Controller) sugere a divisão de aplicações em três principais grupos de componentes: Models, Views e Controllers, o que ajuda a atingir a separação de interesses.Em relação aos Controllers, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.( ) Atua como ponto de entrada inicial, sendo responsável por escolher os Models que serão empregados na execução bem como qual View será renderizada.( ) Caso a lógica do Controller esteja muito complexa, é recomendável mover lógica de negócios para fora do mesmo, insira-a no modelo de domínio, por exemplo.( ) Caso um Controller execute com frequência os mesmos tipos de ações, é uma boa prática mover essas ações comuns para filtros.As afirmativas são, respectivamente
  1. AV – F – V.
  2. BV – V – F.
  3. CF – V – F.
  4. DF – F – V.
  5. EV – V – V.
Revelar gabarito e comentário

GabaritoE — V – V – V.

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 – Papel dos Controllers

Gabarito: letra E – sequência V – V – V. Todas as três afirmativas estão de acordo com as responsabilidades e boas práticas do Controller no padrão MVC: ele é o ponto de entrada que seleciona Models e Views; deve-se manter a lógica de negócio no Model, evitando Controllers inchados; e ações repetitivas devem ser extraídas para filtros, promovendo reuso.

Conforme o texto de apoio, o Controller "faz a mediação da entrada e saída, comandando a visão e o modelo" e "envia comandos para o modelo para atualizar o seu estado". Já o Model é "a parte lógica da aplicação, que gerencia o comportamento dos dados através de regras de negócios". A prática de mover ações comuns para filtros é adotada por frameworks MVC (como Rails, ASP.NET MVC) para evitar duplicação.

Controller (MVC)
  • 1Papel
    • Ponto de entrada
    • Seleciona Models
    • Seleciona Views
  • 2Boas práticas
    • Lógica complexa → Model (domínio)
    • Ações repetitivas → Filtros
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma 1ª V, 2ª F, 3ª V. A 2ª afirmativa, porém, é verdadeira: recomenda-se sim mover lógica de negócios complexa para o Model, mantendo o Controller enxuto. Logo, a sequência não corresponde ao padrão correto.

Alternativa B — ❌ Incorreta

Afirma 1ª V, 2ª V, 3ª F. A 3ª afirmativa é verdadeira: ações repetitivas do Controller devem ser movidas para filtros (ex.: before/after actions). Portanto, a sequência está errada.

Alternativa C — ❌ Incorreta

Afirma 1ª F, 2ª V, 3ª F. A 1ª afirmativa é verdadeira: o Controller é o ponto de entrada e escolhe Models e Views. A 3ª também é verdadeira. A sequência possui duas falsas onde deveriam ser verdadeiras.

Alternativa D — ❌ Incorreta

Afirma 1ª F, 2ª F, 3ª V. As duas primeiras afirmativas são verdadeiras (1ª V, 2ª V), não falsas. Apenas a 3ª está correta, mas a alternativa erra ao marcar as duas primeiras como F.

Alternativa E — ✅ Correta ⟵ GABARITO

Sequência V – V – V. A 1ª afirmativa descreve corretamente o papel do Controller como ponto de entrada e coordenador. A 2ª reflete a boa prática de manter a lógica de negócio no Model. A 3ª recomenda o uso de filtros para ações repetitivas, princípio comum em frameworks MVC. Todas estão verdadeiras, conforme o gabarito oficial.

Gabarito: letra E.

Link permanente: /questoes/fg084699