Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FGV 2025

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
fg108656
Banca
FGV
Órgão
DPE-RO
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas - Classe B
O padrão arquitetural MVC foi proposto na década de 70 e desde então vem sendo amplamente utilizado no mercado. Com relação às afirmativas sobre o padrão, avalie as afirmativas a seguir e assinale (V) para a afirmativa verdadeira e (F) para a falsa.( ) Visão - são as classes responsáveis pela apresentação da interface gráfica do sistema, incluindo janelas, botões, menus, barras de rolagem. A interface gráfica é formada por objetos de visão e contêineres.( ) Conteiner - são as classes que tratam e interpretam eventos gerados por dispositivos de entrada, como mouse e teclado. Como resultado de tais eventos, contêineres podem solicitar uma alteração no estado do Modelo ou da Visão. Suponha, por exemplo, uma Calculadora. Quando o usuário clica em um botão +, uma classe Controladora deve capturar esse evento e chamar um método do Modelo.( ) Modelo - são as classes que armazenam os dados manipulados pela aplicação e que têm a ver com o domínio do sistema em construção. Assim, classes de Modelo não têm qualquer conhecimento ou dependência para classes de Visão e Contêineres. Além de dados, classes de Modelo podem conter métodos que alteram o estado dos objetos de domínio.As afirmativas são, respectivamente,
  1. AV – V – F.
  2. BV – F – F.
  3. CF – V – F.
  4. DF – V – V.
  5. EF – F – V.
Revelar gabarito e comentário

GabaritoE — F – F – 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”.

Padrão MVC (Model-View-Controller)

Gabarito: letra E. A sequência correta é F – F – V: a primeira afirmativa é falsa porque atribui indevidamente "contêineres" à Visão (termo que na verdade descreveria o Controlador); a segunda é falsa por usar o nome "Conteiner" em vez de "Controlador" para o componente que trata eventos; a terceira é verdadeira ao descrever corretamente o Modelo como independente da Visão e do Controlador. A banca testa o conhecimento dos papéis clássicos do MVC com um distrator de nomenclatura.

O padrão MVC divide a aplicação em três componentes: Model (dados e regras de negócio), View (apresentação) e Controller (tratamento de eventos e coordenação). O termo "Conteiner" não faz parte do vocabulário padrão do MVC; a banca o usa para confundir com View ou Controller.

1Model (Modelo)
Dados e regras de negócio
Independente da View e Controller
2View (Visão)
Apresentação / interface gráfica
"Contêineres" não fazem parte
3Controller (Controlador)
Trata eventos de entrada
Coordena Model e View
"Conteiner" é nomenclatura incorreta
MVC (Model-View-Controller)
LEVELsoulevel.com.br
MVC (Model-View-Controller): Model (Modelo) (Dados e regras de negócio, Independente da View e Controller); View (Visão) (Apresentação / interface gráfica, "Contêineres" não fazem parte); Controller (Controlador) (Trata eventos de entrada, Coordena Model e View, "Conteiner" é nomenclatura incorreta)

1ª afirmativa (Visão) — ❌ Falsa

A afirmativa começa correta ao dizer que a Visão é responsável pela apresentação, mas ao final afirma que "A interface gráfica é formada por objetos de visão e contêineres". No MVC, a Visão é a interface gráfica; não existe uma categoria separada chamada "contêineres" dentro da Visão. O termo "conteiner" é usado na segunda afirmativa (de forma equivocada) para se referir ao Controlador. Portanto, a assertiva está errada por misturar conceitos.

2ª afirmativa (Conteiner) — ❌ Falsa

A descrição é correta: classes que tratam eventos de entrada e solicitam alterações no Modelo ou na Visão são exatamente o papel do Controlador (Controller). No entanto, o nome utilizado é "Conteiner", que não é o termo consagrado no padrão MVC (o correto é "Controlador"). A própria exemplificação diz "uma classe Controladora", revelando a inconsistência. Logo, a afirmativa é falsa por empregar nomenclatura inadequada.

3ª afirmativa (Modelo) — ✅ Verdadeira

A afirmativa descreve com precisão o Modelo: armazena dados do domínio, contém métodos que alteram seu estado e não depende das classes de Visão ou Controlador. Essa independência é fundamental no MVC. Portanto, a terceira afirmativa está correta.

A sequência correta é: (F) – (F) – (V).


Alternativa A — ❌ Incorreta (V – V – F)

Afirma que a primeira e a segunda são verdadeiras. Como vimos, ambas são falsas. A primeira incorre no erro de incluir "contêineres" na Visão; a segunda usa o termo errado "Conteiner".

Alternativa B — ❌ Incorreta (V – F – F)

Considera a primeira verdadeira, mas ela é falsa. Apenas a terceira deveria ser verdadeira, mas aqui a terceira é falsa.

Alternativa C — ❌ Incorreta (F – V – F)

Considera a segunda verdadeira, mas ela é falsa (nomenclatura errada). A terceira é verdadeira, mas na alternativa está falsa.

Alternativa D — ❌ Incorreta (F – V – V)

Novamente considera a segunda verdadeira, o que é incorreto. A terceira está correta, mas a segunda falseia a combinação.

Alternativa E — ✅ Correta ⟵ GABARITO (F – F – V)

Única alternativa que reflete a análise: primeira falsa (Visão não inclui "contêineres" como entidade separada), segunda falsa ("Conteiner" é termo incorreto para Controlador) e terceira verdadeira (Modelo independente de View e Controller).

NÃO CAIA NESSA!

A banca troca propositalmente o nome do Controlador por "Conteiner" e ainda o menciona na primeira afirmativa como se fosse parte da Visão. O candidato que se apega à descrição funcional, ignorando a nomenclatura incorreta, pode marcar como verdadeira a segunda afirmativa. Lembre-se: no MVC o termo é Controller (Controlador), e a View não é composta por "contêineres". Fique atento a esses desvios de nome.

Gabarito: letra E — sequência F – F – V.

Link permanente: /questoes/fg108656