Pular para o conteúdo principal

Questão de Arquitetura de Software — MVC (Model-view-controller) — COMPERVE - UFRN 2024

Arquitetura de SoftwareMVC (Model-view-controller)
Código
qg104296
Banca
COMPERVE - UFRN
Órgão
UFRN
Ano
2024
Nível
Médio
Cargo
COMPERVE - - Técnico em Tecnologia da Informação (Sistemas)
O padrão arquitetural MVC (Model-View-Controller) sugere uma divisão de responsabilidades entre as partes de um software. Inicialmente, o MVC foi pensado no desenvolvimento Desktop, mas se popularizou no desenvolvimento Web. Em relação ao MVC, considere as afirmativas abaixo.I Atualmente, o MVC é conhecido como padrão de portas e adaptadores.II O principal objetivo do MVC é abstrair o acesso ao banco de dados, possibilitando o uso de frameworks como Hibernate em Java ou Django ORM em Python.III O MVC promove o princípio da separação de conceitos (separation of concerns).IV Um benefício do MVC é separar os componentes de apresentação do resto da aplicação.Das afirmativas, estão corretas
  1. AIII e IV.
  2. BI e IV.
  3. CII e III.
  4. DI e II.
Revelar gabarito e comentário

GabaritoA — III e IV.

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 A. Apenas as afirmativas III e IV estão corretas. O MVC promove o princípio da separação de conceitos (separation of concerns) e separa os componentes de apresentação do restante da aplicação. As afirmativas I e II são falsas: o padrão portas e adaptadores é a Arquitetura Hexagonal, não o MVC; e o principal objetivo do MVC não é abstrair acesso a banco de dados, mas sim dividir responsabilidades entre Model, View e Controller.

Afirmativa

Correta?

Justificativa

I — MVC é conhecido como padrão de portas e adaptadores

❌ Incorreta

O termo "portas e adaptadores" refere-se à Arquitetura Hexagonal, não ao MVC.

II — Principal objetivo do MVC é abstrair acesso a banco de dados

❌ Incorreta

O objetivo central é a separação de responsabilidades (Model, View, Controller); abstração de banco é consequência, não finalidade.

III — MVC promove separação de conceitos (separation of concerns)

✅ Correta

Cada camada (Model, View, Controller) tem responsabilidades bem definidas, facilitando manutenção e teste.

IV — Benefício do MVC é separar componentes de apresentação do resto da aplicação

✅ Correta

A View (apresentação) é isolada do Model e Controller, permitindo alterações na interface sem afetar a lógica de negócio.

1Objetivo principal
Separação de responsabilidades
Abstrair acesso a banco de dados
2Princípio
Separation of concerns
3Benefício
Isola apresentação do resto
4Não é
Padrão portas e adaptadores (Hexagonal)
MVC (Model-View-Controller)
LEVELsoulevel.com.br
MVC (Model-View-Controller): Objetivo principal (Separação de responsabilidades, Abstrair acesso a banco de dados); Princípio (Separation of concerns); Benefício (Isola apresentação do resto); Não é (Padrão portas e adaptadores (Hexagonal))

Afirmativa I — ❌ Incorreta

O MVC não é conhecido como "padrão de portas e adaptadores". Esse termo refere-se à Arquitetura Hexagonal (também chamada de ports and adapters), um padrão diferente focado em isolar o núcleo da aplicação de tecnologias externas. O MVC foi criado na Xerox PARC na década de 1970 e não possui essa denominação. A banca tenta confundir o candidato associando nomes de padrões distintos.

Afirmativa II — ❌ Incorreta

O principal objetivo do MVC é a separação de responsabilidades em três camadas (Model, View, Controller), e não especificamente abstrair acesso a banco de dados. Embora a camada Model possa utilizar frameworks ORM como Hibernate ou Django ORM para persistência, essa é uma consequência, não a finalidade central do padrão. A afirmativa reduz o escopo do MVC a uma funcionalidade que é apenas um dos possíveis usos do Model.

Afirmativa III — ✅ Correta

O MVC é fundamentado no princípio da separação de conceitos (separation of concerns). Cada camada tem responsabilidades bem definidas: o Model gerencia dados e regras de negócio, a View cuida da apresentação e o Controller intermedia as interações do usuário. Essa divisão facilita a manutenção, o teste e a evolução do software.

Afirmativa IV — ✅ Correta

Um dos principais benefícios do MVC é isolar os componentes de apresentação (View) do restante da aplicação (Model e Controller). Isso permite que a interface do usuário seja alterada sem impactar a lógica de negócio, além de possibilitar múltiplas visualizações para o mesmo modelo de dados.

Alternativa A — ✅ Correta ⟵ GABARITO

A alternativa A afirma que apenas III e IV estão corretas. Conforme analisado, as afirmativas III e IV são verdadeiras, enquanto I e II são falsas. Portanto, esta é a combinação correta.

Alternativa B — ❌ Incorreta

A alternativa B aponta I e IV como corretas. No entanto, a afirmativa I é falsa (MVC não é padrão de portas e adaptadores). Apesar de IV ser verdadeira, a presença de I invalida a alternativa.

Alternativa C — ❌ Incorreta

A alternativa C indica II e III como corretas. A afirmativa II é falsa (o objetivo principal do MVC não é abstrair banco de dados), mesmo que III seja verdadeira. Logo, a combinação está incorreta.

Alternativa D — ❌ Incorreta

A alternativa D considera I e II como corretas. Ambas são falsas, tornando a alternativa totalmente equivocada.

NÃO CAIA NESSA!

A banca explora duas confusões comuns: (1) trocar o nome do MVC pelo padrão de portas e adaptadores (Arquitetura Hexagonal) — são conceitos distintos; (2) atribuir ao MVC o objetivo de abstrair banco de dados, quando na verdade seu foco é a separação de responsabilidades. Lembre-se: o Model pode usar ORM, mas isso não define o padrão.

NÃO CAIA NESSA!

Para questões sobre MVC, foque no tripé: Model (dados/regras), View (apresentação), Controller (intermediação). O princípio central é a separação de conceitos. Não confunda com outros padrões como Hexagonal, MVP ou MVVM.

Gabarito: letra A

Link permanente: /questoes/qg104296