Questão de Arquitetura de Software — MVC (Model-view-controller) — IV - UFG 2023
Arquitetura de Software›MVC (Model-view-controller)
Código
qq974628
Banca
IV - UFG
Órgão
IF Goiano
Ano
2023
Nível
Superior
Cargo
Analista de Tecnologia da Informação
O Model-View-Controller (MVC) é um padrão de arquitetura de software em que
Ao model é responsável pela interação direta com o usuário, exibindo a interface gráfica da aplicação.
Bo controller é responsável pela manipulação dos dados e regras de negócio da aplicação.
Ca view é responsável pela lógica de negócio da aplicação.
Do model é responsável pela atualização da view com base nas alterações de dados.
Revelar gabarito e comentário▾
GabaritoB — o controller é responsável pela manipulação dos dados e regras de negócio da aplicaçã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”.
Model-View-Controller (MVC)
Gabarito oficial: B (de acordo com a banca). No entanto, segundo a definição clássica do MVC e o contexto fornecido, a alternativa D é a que mais se aproxima da correta, pois o Model notifica a View sobre mudanças de estado, levando à atualização da apresentação. A alternativa B atribui ao Controller a manipulação de dados e regras de negócio, que são responsabilidades do Model, conforme explicitado nos trechos a seguir.
A banca testa o conhecimento das responsabilidades de cada camada do MVC. Vamos analisar cada alternativa com base no material de apoio.
SE LIGUE NESSA!
"Modelo... consiste na parte lógica da aplicação, que gerencia o comportamento dos dados através de regras de negócios, lógica e funções." "Controlador... não tem função de lógica de processamento de dados. Ele é apenas um intermediário que coordena o fluxo entre a interface e a lógica de negócios." "Um modelo (model) armazena dados e notifica suas visões e controladores associados quando há uma mudança em seu estado. Estas notificações permitem que as visões produzam saídas atualizadas."
Alternativa
Responsabilidade Atribuída
Responsabilidade Real no MVC
Correta?
A
Model: interação direta com o usuário (exibição da interface)
View
❌
B
Controller: manipulação de dados e regras de negócio
Model
❌ (gabarito da banca)
C
View: lógica de negócio
Model
❌
D
Model: atualização da View com base em alterações de dados
Model (notifica a View)
✅ (definição clássica)
Alternativa A — ❌ Incorreta
Afirma que o Model é responsável pela interação direta com o usuário (exibição da interface). Na verdade, essa é a função da View. O Model encapsula dados e regras de negócio, sem contato com a interface.
Alternativa B — ❌ Incorreta (mas é o gabarito da banca)
Diz que o Controller manipula dados e regras de negócio. Contudo, o Controller não possui lógica de processamento de dados; ele apenas recebe entradas do usuário, coordena o fluxo e delega ao Model as operações de negócio. A manipulação de dados e regras de negócio é de responsabilidade do Model. O contexto é claro: "O controller não tem função de lógica de processamento de dados." Portanto, a afirmação é incorreta segundo a definição padrão do MVC.
Alternativa C — ❌ Incorreta
Afirma que a View é responsável pela lógica de negócio. Isso é papel do Model. A View apenas exibe dados e encaminha interações do usuário ao Controller.
Alternativa D — ✅ Correta (segundo a definição clássica)
Afirma que o Model é responsável pela atualização da View com base em alterações de dados. No MVC, o Model notifica a View sobre mudanças de estado, e a View se atualiza para refletir essas alterações. O trecho do contexto confirma: "o modelo armazena dados e notifica suas visões... quando há uma mudança em seu estado. Estas notificações permitem que as visões produzam saídas atualizadas." Portanto, o Model é o responsável por iniciar a atualização da View, embora a View execute a atualização propriamente dita.
Conclusão: Com base no material fornecido, a alternativa correta seria a D. No entanto, o gabarito oficial aponta a B como resposta, o que representa uma divergência entre a definição clássica do MVC e a interpretação da banca. Recomenda-se atenção a esse ponto e, em provas futuras, seguir a literalidade do edital ou material de referência adotado pela banca.