Pular para o conteúdo principal

Questão de Arquitetura de Software — MVC (Model-view-controller) — FCC 2018

Arquitetura de SoftwareMVC (Model-view-controller)
Código
fc051335
Banca
FCC
Órgão
AFAP
Ano
2018
Um Analista de Informática está desenvolvendo um site utilizando como referência de arquitetura o padrão MVC. Nesse padrão,
  1. Aclasses que fazem a filtragem de requisições vindas de formulários preenchidos pelos usuários são representadas no grupo view.
  2. Bcomponentes do grupo view não podem se comunicar diretamente com componentes do grupo model sem passar pelo grupo controller.
  3. Cclasses que representam entidades do banco de dados são representadas no grupo controller
  4. Dclasses que executam comandos SQL para inserção, alteração, exclusão e consulta a dados nas tabelas do banco de dados são representadas no grupo model.
  5. Epáginas web que possuem código JavaScript são representadas no grupo controller.
Revelar gabarito e comentário

GabaritoD — classes que executam comandos SQL para inserção, alteração, exclusão e consulta a dados nas tabelas do banco de dados são representadas no grupo model.

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 D. No padrão MVC, o Model é responsável pela lógica de negócio e pelo acesso a dados, incluindo a execução de comandos SQL. As demais alternativas erram ao atribuir responsabilidades de uma camada a outra.

O padrão MVC divide a aplicação em três camadas interconectadas:

Camada

Responsabilidade

Model

Dados, regras de negócio, acesso a banco de dados

View

Apresentação dos dados, interface com o usuário

Controller

Recebe entradas do usuário, coordena as requisições, atualiza Model e seleciona View

1Model
Dados e regras de negócio
Acesso a banco (SQL)
2View
Interface com o usuário
HTML, CSS, JavaScript
3Controller
Recebe entradas do usuário
Coordena requisições
Atualiza Model e seleciona View
MVC (Model-View-Controller)
LEVELsoulevel.com.br
MVC (Model-View-Controller): Model (Dados e regras de negócio, Acesso a banco (SQL)); View (Interface com o usuário, HTML, CSS, JavaScript); Controller (Recebe entradas do usuário, Coordena requisições, Atualiza Model e seleciona View)

Alternativa A — ❌ Incorreta

As classes que filtram requisições (ex.: validação de formulários) são responsabilidade do Controller, não da View. A View apenas exibe dados e envia interações do usuário ao Controller.

Alternativa B — ❌ Incorreta

No MVC clássico, a View pode se comunicar diretamente com o Model, por exemplo, através de observadores (observers) para atualizar a apresentação quando o Model muda. O Controller não é obrigatório nessa comunicação. A afirmação de que "não podem se comunicar diretamente" é uma restrição que não faz parte do padrão original.

Alternativa C — ❌ Incorreta

Classes que representam entidades do banco de dados (como tabelas mapeadas) pertencem ao Model, não ao Controller. O Controller gerencia o fluxo da aplicação, não os dados.

Alternativa D — ✅ Correta ⟵ GABARITO

Exatamente. O Model é a camada que encapsula os dados e a lógica de negócio, incluindo o acesso ao banco de dados por meio de comandos SQL (ou ORM). É responsável por inserir, alterar, excluir e consultar dados.

Alternativa E — ❌ Incorreta

Páginas web com código JavaScript (front-end) fazem parte da View. O Controller opera no servidor e gerencia a lógica de controle, não a apresentação.

PEGA ESSA DICA!

Para não errar, lembre-se: Model = dados + regras de negócio (incluindo SQL), View = interface com o usuário (HTML, CSS, JS), Controller = intermediário que recebe requisições e as direciona. Essa separação é a essência do MVC.

Gabarito: letra D.

Link permanente: /questoes/fc051335