Pular para o conteúdo principal

Questão de Arquitetura de Software — MVC (Model-view-controller) — IF-SP 2026

Arquitetura de SoftwareMVC (Model-view-controller)
Código
qg710303
Banca
IF-SP
Órgão
IF-SP
Ano
2026
Nível
Superior
Cargo
Analista de Tecnologia da Informação
O Template View é compreendido como uma abordagem para renderizar páginas HTML com conteúdo dinâmico, substituindo marcado res por valores computados no momento da re quisição. Esse padrão influencia diretamente a arquitetura adotada por frameworks modernos como o Django, que implementa o chamado pa drão MTV (Model–Template–View). Embora conceitualmente semelhante ao clássico padrão MVC (Model–View–Controller), há distinções importantes entre as responsabilidades de cada componente nas duas abordagens, especialmente no papel desempenhado pelo controlador e pela camada de apresentação.Com base na comparação entre os padrões MVC e MTV, é correto afirmar que:
  1. ANo padrão MTV, o Template exerce o papel do Controller do MVC, sendo responsável pela lógica de controle do fluxo de dados e navegação.
  2. BO padrão MTV elimina completamente a necessidade de um componente intermediário entre o modelo de dados e a visualização, ao contrário do MVC.
  3. CA principal diferença entre MTV e MVC está na nomenclatura dos componentes, pois suas responsabilidades permanecem idênticas na prática.
  4. DEnquanto no MVC a camada “View” é res ponsável pela apresentação visual; no MTV, essa responsabilidade recai sobre o “Template”, sendo a “View” encarregada da lógica de controle da requisição.
Revelar gabarito e comentário

GabaritoD — Enquanto no MVC a camada “View” é res ponsável pela apresentação visual; no MTV, essa responsabilidade recai sobre o “Template”, sendo a “View” encarregada da lógica de controle da requisição.

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

Padrão MVC vs. MTV (Model-View-Controller vs. Model-Template-View)

Gabarito: letra D. Enquanto no MVC clássico a View é responsável pela apresentação visual, no padrão MTV (adotado pelo Django) essa responsabilidade cabe ao Template, e a View (do Django) assume a lógica de controle da requisição, equivalente ao Controller do MVC. É exatamente essa redistribuição de papéis que a alternativa D descreve corretamente.

A banca cobra a compreensão das diferenças práticas entre os dois padrões, especialmente após a adaptação para frameworks web modernos. O conteúdo de apoio (Wikipédia) detalha o MVC: Model (dados/regras de negócio), View (apresentação), Controller (mediação e lógica de controle). No Django MTV, o Model permanece, o Template é a apresentação, e a View do Django assume o papel de Controller.

Padrão

Componente de Apresentação

Componente de Lógica de Controle

Papel do Intermediário

MVC

View

Controller

Controller (media requisição/resposta)

MTV

Template

View (do Django)

View (do Django) (processa requisição e coordena resposta)

Alternativa A — ❌ Incorreta

Afirma que no MTV o Template exerce o papel do Controller. Na verdade, o Template corresponde à View do MVC (apresentação). A lógica de controle no MTV é exercida pela View do Django, não pelo Template.

Alternativa B — ❌ Incorreta

Diz que o MTV elimina o componente intermediário entre Model e visualização. No MTV, a View (do Django) atua exatamente como intermediária, processando a requisição e coordenando a resposta — papel análogo ao Controller do MVC.

Alternativa C — ❌ Incorreta alega que a única diferença é a nomenclatura, com responsabilidades idênticas. Embora os nomes mudem, as responsabilidades não são idênticas: no MVC a View pode conter lógica de apresentação; no MTV a View (do Django) concentra a lógica de controle, e o Template é puramente apresentação. Há diferença prática na separação de preocupações.

Alternativa D — ✅ Correta ⟵ GABARITO

Descreve com precisão a distinção: no MVC a View é apresentação; no MTV o Template assume a apresentação e a View do Django fica com a lógica de controle da requisição (papel do Controller). É a afirmação que reflete corretamente a arquitetura dos dois padrões.

NÃO CAIA NESSA!

Para não confundir, lembre-se: no Django a palavra "View" é enganosa — ela funciona como Controller. O Template é a View visual. Associe: Django View = Controller; Django Template = View do MVC.

Gabarito: letra D.

Link permanente: /questoes/qg710303