Questão de Arquitetura de Software — MVC (Model-view-controller) — CESPE / CEBRASPE 2025
Arquitetura de Software›MVC (Model-view-controller)
Código
ce195197
Banca
CESPE / CEBRASPE
Órgão
BANRISUL
Ano
2025
Nível
Superior
Cargo
Técnico em Tecnologia da Informação II - Desenvolvimento de Software
Na utilização do padrão MVC (model-view-controller) em uma arquitetura de aplicação web, cabe ao model
Aencapsular o estado de aplicação e o banco de dados.
Bgerir a lógica específica da aplicação e enviar eventos de usuário ao controller.
Cvalidar os dados de entrada e gerenciar os formulários web.
Dnotificar a visão de mudanças de estado e o processamento de solicitações HTTP.
Egerar as páginas dinamicamente e responder às solicitações de atualização dos dados.
Revelar gabarito e comentário▾
GabaritoA — encapsular o estado de aplicação e o banco de dados.
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 - Responsabilidades do Model
Gabarito: letra A. No padrão MVC, o model é responsável por encapsular o estado da aplicação e a lógica de negócio, incluindo o acesso ao banco de dados. As demais alternativas misturam atribuições do controller e da view.
O MVC divide a aplicação em três componentes interconectados:
Model: gerencia dados, regras de negócio, validações e persistência (banco de dados).
View: exibe informações ao usuário (interface).
Controller: recebe entradas do usuário, interpreta comandos e coordena o fluxo entre Model e View.
PEGA ESSA DICA!
Memorize a tríade: Model = dados/regras; View = interface; Controller = intermediário. Na prova, desconfie de alternativas que atribuem ao model tarefas de exibição ou de recebimento de requisições HTTP.
MVC: Model (Dados e regras de negócio, Estado da aplicação, Persistência (banco de dados), Validações de negócio); View (Interface com o usuário, Exibição de informações, Gerenciamento de formulários); Controller (Recebe entradas do usuário, Interpreta comandos, Coordena fluxo Model ↔ View, Processa requisições HTTP)
Alternativa A — ✅ Correta ⟵ GABARITO
Encapsular o estado da aplicação e interagir com o banco de dados são funções centrais do model. Conforme o material de apoio, o model "gerencia os dados e a lógica do sistema" e "encapsula o estado da aplicação".
Alternativa B — ❌ Incorreta
"Gerir a lógica específica da aplicação" é sim papel do model, mas "enviar eventos de usuário ao controller" é responsabilidade do controller (que recebe eventos via view). O model é passivo aguardando comandos do controller.
Alternativa C — ❌ Incorreta
"Validar os dados de entrada" pode ocorrer no model (validação de negócio) ou no controller, mas "gerenciar formulários web" é tipicamente função da view. A alternativa funde responsabilidades de forma errada.
Alternativa D — ❌ Incorreta
"Notificar a visão de mudanças de estado" é uma característica do model (via observer), mas "processamento de solicitações HTTP" é tarefa do controller. O model não lida diretamente com HTTP.
Alternativa E — ❌ Incorreta
"Gerar as páginas dinamicamente" é função da view; "responder às solicitações de atualização dos dados" cabe ao controller. O model apenas fornece os dados, não gera páginas.