Pular para o conteúdo principal

Questão de Arquitetura de Software — MVC (Model-view-controller) — IV - UFG 2023

Arquitetura de SoftwareMVC (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
  1. Ao model é responsável pela interação direta com o usuário, exibindo a interface gráfica da aplicação.
  2. Bo controller é responsável pela manipulação dos dados e regras de negócio da aplicação.
  3. Ca view é responsável pela lógica de negócio da aplicação.
  4. 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.

Link permanente: /questoes/qq974628