Questão de Arquitetura de Software — MVC (Model-view-controller) — IBFC 2023
Arquitetura de Software›MVC (Model-view-controller)
Código
qq936128
Banca
IBFC
Órgão
SAEB-BA
Ano
2023
Nível
Médio
Cargo
Técnico Administrativo - Tecnologia da Informação (Desenvolvimento)
No modelo MVC (Model-View-Controller), a camada controller possui uma grande importância, não menos importante em relação as outras camadas, View e Model, desta forma, assinale a alternativa que apresenta qual o objetivo da camada controller neste modelo.
AControlar o armazenamento de dados persistentes
BControlar o gerenciamento de memória do software
CControlar o fluxo da aplicação, recebendo entradas do usuário e atualizando o modelo e a visualização correspondentes
DControlar o fluxo da aplicação, mapeando as unidades de rede nos servidores de banco de dados
Revelar gabarito e comentário▾
GabaritoC — Controlar o fluxo da aplicação, recebendo entradas do usuário e atualizando o modelo e a visualização correspondentes
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) – Objetivo da camada Controller
Gabarito: letra C. No padrão MVC, o Controller é responsável por receber as entradas do usuário, interpretá-las e coordenar o fluxo da aplicação, atualizando tanto o Model (dados/lógica) quanto a View (apresentação) conforme necessário. As demais alternativas atribuem ao Controller funções que pertencem a outras camadas (Model, infraestrutura) ou não fazem parte do padrão.
O padrão MVC separa a aplicação em três componentes interconectados:
Model: gerencia os dados, a lógica de negócio e a persistência (armazenamento).
View: responsável pela interface com o usuário (apresentação).
Controller: faz a mediação entre View e Model, tratando as ações do usuário e decidindo como o sistema deve responder.
Conforme a descrição do modelo: "O Controller envia comandos para o modelo para atualizar o seu estado... o controlador também pode enviar comandos para a visão associada para alterar a apresentação". Portanto, a função central do Controller é justamente o fluxo da aplicação, recebendo entradas e atualizando as outras camadas.
MVC: Model (Dados e lógica de negócio, Persistência (armazenamento)); View (Interface com o usuário, Apresentação); Controller (Recebe entradas do usuário, Coordena o fluxo da aplicação, Atualiza Model e View)
Alternativa A — ❌ Incorreta
Controlar o armazenamento de dados persistentes é responsabilidade do Model, não do Controller. O Model encapsula a lógica de negócio e a persistência. O Controller apenas coordena as requisições, sem se envolver diretamente com o banco de dados.
Alternativa B — ❌ Incorreta
Gerenciamento de memória do software não é uma atribuição de nenhuma das camadas do MVC em nível arquitetural; é algo tratado pelo sistema operacional ou pela linguagem de programação. O Controller não possui essa finalidade.
Alternativa C — ✅ Correta ⟵ GABARITO
Descreve exatamente o papel do Controller: "Controlar o fluxo da aplicação, recebendo entradas do usuário e atualizando o modelo e a visualização correspondentes". É a definição clássica: o Controller interpreta comandos do usuário, interage com o Model para alterar os dados e decide qual View deve ser apresentada.
Alternativa D — ❌ Incorreta
Mapear unidades de rede em servidores de banco de dados não faz parte do MVC. Essa descrição mistura conceitos de infraestrutura de rede com o padrão de arquitetura. O Controller não lida com aspectos de rede ou servidores de banco de dados.
NÃO CAIA NESSA!
A banca tenta confundir o papel do Controller com o do Model (alternativa A) ou com responsabilidades de infraestrutura (alternativa D). Lembre-se: Controller = intermediário que orquestra o fluxo; Model = lógica e dados; View = apresentação.