Pular para o conteúdo principal

Questão de Arquitetura de Software — MVC (Model-view-controller) — IDCAP 2025

Arquitetura de SoftwareMVC (Model-view-controller)
Código
qg518450
Banca
IDCAP
Órgão
IPJB
Ano
2025
Nível
Superior
Cargo
Tecnologista - Tecnologia da Informação Aplicada a Conservação da Biodiversidade
Considere as afirmativas relacionadas ao padrão MVC apresentadas a seguir. Registre V, para verdadeiras, e F, para falsas:(__)No MVC, a View se comunica diretamente com o Model para acessar os dados necessários para a exibição, sem a necessidade de intervenção do Controller.(__)O uso do MVC contribui para a modularidade e a organização do código, separando as responsabilidades de apresentação (View), lógica de negócio (Model) e controle de fluxo (Controller), promovendo o alto acoplamento entre os componentes.(__)A flexibilidade do MVC permite que diferentes Views sejam utilizadas para apresentar os mesmos dados do Model, como, por exemplo, exibir os dados em uma página web (HTML), gerar um relatório em PDF, fornecer uma API REST (JSON) ou interagir com um dispositivo móvel.Assinale a alternativa que apresenta a sequência correta:
  1. AV − F − V.
  2. BF − V − V.
  3. CV − F − F.
  4. DV − V − F.
  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”.

MVC (Model-View-Controller)

Gabarito: letra E — sequência F − F − V. A primeira afirmativa é falsa porque, no padrão MVC, a View não se comunica diretamente com o Model; essa comunicação é mediada pelo Controller, que prepara e fornece os dados à View. A segunda é falsa, pois o MVC visa justamente reduzir o acoplamento entre os componentes, não promovê-lo. A terceira é verdadeira: a flexibilidade do padrão permite que diferentes Views apresentem os mesmos dados do Model.

A banca testa o conhecimento da separação de responsabilidades e das interações entre os componentes do MVC. O principal ponto de atenção está na primeira afirmativa: embora em implementações clássicas a View possa acessar diretamente o Model (padrão Observer), a interpretação mais comum em concursos (especialmente em contexto de frameworks web) é que o Controller é quem intermedia o acesso aos dados. A segunda afirmativa contém uma clara contradição com o princípio de baixo acoplamento do MVC.

Afirmativa

V/F

Justificativa

View comunica-se diretamente com o Model

F

No MVC, o Controller intermedia a comunicação; a View não acessa o Model por conta própria.

MVC promove alto acoplamento entre componentes

F

O MVC busca baixo acoplamento e alta coesão, separando responsabilidades.

Diferentes Views podem apresentar os mesmos dados do Model

V

O padrão permite múltiplas representações (HTML, PDF, JSON, etc.) para o mesmo conteúdo.

1Model
Lógica de negócio
Dados
2View
Apresentação
Comunica-se diretamente com o Model
3Controller
Intermedia requisições
Fornece dados à View
4Princípios
Baixo acoplamento
Alta coesão
Múltiplas Views para mesmo Model
MVC (Model-View-Controller)
LEVELsoulevel.com.br
MVC (Model-View-Controller): Model (Lógica de negócio, Dados); View (Apresentação, Comunica-se diretamente com o Model); Controller (Intermedia requisições, Fornece dados à View); Princípios (Baixo acoplamento, Alta coesão, Múltiplas Views para mesmo Model)

Item I — ❌ Falsa

Afirma que a View se comunica diretamente com o Model sem intervenção do Controller. No MVC, o Controller recebe as requisições do usuário, interage com o Model e então fornece os dados à View. A View não acessa o Model por conta própria; ela recebe os dados já processados. O texto de referência indica que "o Controlador envia comandos para o modelo para atualizar o seu estado" e "a visão é onde os dados solicitados do Modelo são exibidos", mas não que a View os solicite diretamente. Portanto, a afirmativa é falsa.

Item II — ❌ Falsa

Afirma que o MVC promove alto acoplamento entre os componentes. Na realidade, o MVC busca exatamente o oposto: baixo acoplamento e alta coesão. A separação em camadas permite que alterações em uma camada não impactem as outras, facilitando manutenção e evolução. O texto destaca como vantagens "facilita o reuso do código" e "melhor nível de sustentabilidade", que são consequências do baixo acoplamento. Assim, a afirmação é falsa.

Item III — ✅ Verdadeira

Afirma que o MVC permite usar diferentes Views para os mesmos dados do Model. Isso é correto: o padrão foi projetado para suportar múltiplas representações do mesmo conteúdo. Exemplos comuns incluem exibir os dados em HTML, PDF, JSON etc. O texto confirma: "é muito simples adicionar novos clientes apenas incluindo seus views e controles" e "é possível ter várias visões do mesmo dado". Portanto, verdadeira.

Alternativa A — ❌ Incorreta

Apresenta a sequência V − F − V. O primeiro item é Falso, não Verdadeiro. Logo, a sequência está errada.

Alternativa B — ❌ Incorreta

Apresenta a sequência F − V − V. O segundo item é Falso, não Verdadeiro. Portanto, incorreta.

Alternativa C — ❌ Incorreta

Apresenta a sequência V − F − F. O primeiro item é Falso e o terceiro é Verdadeiro, não Falso. Incorreta.

Alternativa D — ❌ Incorreta

Apresenta a sequência V − V − F. O primeiro e segundo itens são Falsos, não Verdadeiros; o terceiro é Verdadeiro, não Falso. Incorreta.

Alternativa E — ✅ Correta ⟵ GABARITO

Apresenta a sequência F − F − V, que corresponde exatamente à verdade dos itens: I Falso, II Falso, III Verdadeiro. Portanto, é a alternativa correta.


NÃO CAIA NESSA!

A banca explora duas armadilhas comuns: (1) na primeira afirmativa, o aluno pode lembrar do MVC clássico (Smalltalk) onde a View observa o Model, mas em provas recentes e frameworks web a mediação do Controller é a resposta esperada; (2) na segunda, a troca de "baixo" por "alto" acoplamento é um clássico distrator. Fique atento a esses padrões.

PEGA ESSA DICA!

Para questões de MVC, decore as funções: Model = dados + regras, View = apresentação (recebe dados prontos), Controller = intermediário (recebe input, chama Model, escolhe View). O baixo acoplamento e a possibilidade de múltiplas Views são características sempre cobradas.

Link permanente: /questoes/qg518450