Questão de Arquitetura de Software — MVC (Model-view-controller) — IF-SP 2026
Arquitetura de Software›MVC (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:
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.
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.
CA principal diferença entre MTV e MVC está na nomenclatura dos componentes, pois suas responsabilidades permanecem idênticas na prática.
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.