O padrão MVC (model-view-controller) obriga que a visão (vi...

Próximas questões
Com base no mesmo assunto
Q3407603 Arquitetura de Software
No que se refere à integração de sistemas, à arquitetura de software, aos testes de software e aos bancos de dados, julgue o item subsecutivo. 
O padrão MVC (model-view-controller) obriga que a visão (view) execute diretamente as operações de acesso e manipulação dos dados armazenados no banco de dados. 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E (Errado)

Tema central: A questão aborda o padrão MVC (Model-View-Controller) e a sua relação com o acesso a dados em aplicações de software. Esse conhecimento é essencial para quem presta concursos na área de arquitetura de software, pois o MVC é um dos padrões mais cobrados em provas e amplamente utilizado no desenvolvimento de sistemas.

Resumo teórico:
O MVC é um padrão de arquitetura que separa a aplicação em três componentes principais:

  • Model (Modelo): Responsável pela lógica dos dados, pela comunicação com o banco de dados e pelas regras de negócio.
  • View (Visão): Responsável pela interface com o usuário, exibindo as informações.
  • Controller (Controlador): Atua como intermediário entre a View e o Model, processando as requisições do usuário, manipulando os dados via Model e atualizando a View.
Segundo referências como Gamma et al. (Design Patterns, 1995) e a documentação oficial de frameworks como Spring e Django, a View nunca deve acessar diretamente o banco de dados.

Justificativa da alternativa correta:
A afirmação está errada porque, no padrão MVC, a View não executa operações de acesso ou manipulação dos dados no banco. Essa responsabilidade é do Model, que abstrai a lógica de persistência e recuperação de dados. A View apenas apresenta informações ao usuário e solicita ao Controller as ações necessárias, seguindo o princípio de separação de responsabilidades.

Estratégias para interpretação:
Ao ler questões desse tipo, fique atento a palavras como "obriga", "sempre", "diretamente". Elas costumam ser usadas em pegadinhas, pois generalizam comportamentos e fogem das boas práticas recomendadas. Lembre-se: em arquitetura de software, cada componente possui responsabilidades bem definidas!

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Errado.

No padrão MVC (Model-View-Controller), a view é responsável apenas pela apresentação dos dados ao usuário. Ela não deve acessar nem manipular diretamente os dados no banco de dados — essa responsabilidade é do model, que representa a lógica de negócios e o acesso aos dados. O controller atua como intermediário entre a view e o model, recebendo interações do usuário, solicitando atualizações ao model e repassando os dados para a view.

O padrão de arquitetura MVC (Model-View-Controller) é projetado para separar as preocupações (Separation of Concerns) dentro de uma aplicação:

  • Model (Modelo): É responsável pela lógica de negócios e pela gestão dos dados da aplicação. É a camada que interage com o banco de dados (acesso e manipulação dos dados).
  • View (Visão): É responsável pela apresentação dos dados ao usuário e pela captura da interação do usuário. Ela exibe os dados fornecidos pelo Model.
  • Controller (Controlador): Atua como um intermediário. Ele recebe as requisições do usuário (geralmente via View), decide qual Model deve ser usado para processar a requisição, e qual View deve ser usada para apresentar o resultado.

A afirmação diz que a visão (view) obriga que a visão (view) execute diretamente as operações de acesso e manipulação dos dados armazenados no banco de dados.

No padrão MVC:

  1. A View não deve ter conhecimento direto do banco de dados.
  2. A View interage apenas com o Controller (para enviar ações/eventos) e com o Model (para obter os dados a serem exibidos).
  3. A responsabilidade de acesso e manipulação dos dados (lógica de persistência e de negócios) é exclusivamente do Model.

Obrigar a View a manipular diretamente o banco de dados violaria o princípio de separação de preocupações do MVC.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo