Pular para o conteúdo principal

Questão de Programação — Programação Orientada a Objetos — Quadrix 2025

ProgramaçãoProgramação Orientada a Objetos
Código
qg603664
Banca
Quadrix
Órgão
SEDF
Ano
2025
Nível
Superior
Cargo
Professor de Educação Básica: Informática
Quanto aos algoritmos, à programação orientada a objetos e à arquitetura MVC, julgue o item seguinte. A View no MVC pode conter tanto a lógica de apresentação quanto a de negócio, já que o modelo separa apenas os dados do sistema.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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

Arquitetura MVC: separação de responsabilidades

Gabarito: ERRADO. A afirmação está incorreta porque, no padrão MVC (Model-View-Controller), a View deve conter apenas a lógica de apresentação, enquanto a lógica de negócio pertence ao Model (e, em parte, ao Controller). O Model não "separa apenas os dados" — ele encapsula também as regras de negócio e o estado da aplicação. A frase inverte a responsabilidade de cada componente, o que é uma pegadinha clássica em questões sobre MVC.

O padrão MVC (Model-View-Controller) é um dos estilos arquiteturais mais cobrados em concursos de TI. Ele organiza a aplicação em três componentes com responsabilidades bem definidas:

  • Model: representa os dados e a lógica de negócio. É responsável por acessar, manipular e validar os dados, além de aplicar as regras do domínio. Não conhece a interface com o usuário.

  • View: é a camada de apresentação. Exibe os dados ao usuário e captura as interações (cliques, digitação), mas não contém regras de negócio. Ela apenas renderiza o que o Model fornece e encaminha as ações do usuário ao Controller.

  • Controller: recebe as requisições do usuário, interpreta-as e coordena a interação entre View e Model. Ele decide qual lógica de negócio acionar e qual View renderizar em seguida.

A separação de responsabilidades é o coração do MVC: cada componente tem um papel único e bem definido. Isso promove baixo acoplamento e alta coesão, facilitando a manutenção e a evolução do software. Por exemplo, em uma aplicação web de e-commerce, o Model conteria as classes Produto, Carrinho e Pedido, com métodos como calcularTotal() e aplicarDesconto(). A View seria o HTML/CSS que exibe os produtos e o carrinho. O Controller seria o código que recebe o clique em "Adicionar ao carrinho", chama o método do Model e atualiza a View.

A afirmação do enunciado tenta confundir o candidato ao afirmar que a View pode conter lógica de negócio, justificando que o Model "separa apenas os dados". Isso é duplamente errado: primeiro, a View não deve conter lógica de negócio; segundo, o Model não é apenas um repositório de dados — ele encapsula as regras de negócio. Essa inversão de papéis é uma armadilha recorrente em provas, pois o candidato que não domina o conceito pode aceitar a premissa falsa.

Guarde a fronteira: View = apresentação; Model = dados + regras de negócio; Controller = orquestração. É exatamente nessa fronteira que a questão se decide.

1Model
Dados
Regras de negócio
2View
Apresentação
Lógica de negócio
3Controller
Orquestração
Recebe requisições
MVC
LEVELsoulevel.com.br
MVC: Model (Dados, Regras de negócio); View (Apresentação, Lógica de negócio); Controller (Orquestração, Recebe requisições)

Item — ❌ ERRADO

A afirmação está errada porque atribui à View a lógica de negócio, o que viola o princípio fundamental do MVC. A View deve ser "burra" no sentido de não conter regras de negócio — ela apenas exibe dados e repassa ações. O Model, por sua vez, não "separa apenas os dados": ele encapsula também as regras de negócio, sendo a camada responsável pela lógica do domínio. Portanto, a premissa de que a View pode conter lógica de negócio é falsa, e a justificativa apresentada ("o modelo separa apenas os dados") também é incorreta.

NÃO CAIA NESSA!

A banca inverte os papéis do MVC: afirma que a View pode ter lógica de negócio e que o Model só guarda dados. Na verdade, a View é apenas apresentação, e o Model concentra dados e regras de negócio. Essa troca de responsabilidades é a armadilha clássica — fique atento a qualquer alternativa que misture as camadas.

NÃO CAIA NESSA!

Para questões de MVC, memorize a tríade: Model = dados + regras; View = apresentação; Controller = orquestração. Se uma alternativa disser que a View contém lógica de negócio, ou que o Model é só dados, está errada. Essa é a pegadinha mais comum no tema.

Gabarito: ERRADO.

Link permanente: /questoes/qg603664