Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — FGV 2025
- Código
- fg108656
- Banca
- FGV
- Órgão
- DPE-RO
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista de Sistemas - Classe B
- AV – V – F.
- BV – F – F.
- CF – V – F.
- DF – V – V.
- EF – F – V.
GabaritoE — F – F – V.
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.
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.
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.
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).
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".
Considera a primeira verdadeira, mas ela é falsa. Apenas a terceira deveria ser verdadeira, mas aqui a terceira é falsa.
Considera a segunda verdadeira, mas ela é falsa (nomenclatura errada). A terceira é verdadeira, mas na alternativa está falsa.
Novamente considera a segunda verdadeira, o que é incorreto. A terceira está correta, mas a segunda falseia a combinação.
Ú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).
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