Em desenvolvimento Web, um dos padrões arquiteturais mais ut...

Próximas questões
Com base no mesmo assunto
Q2007398 Arquitetura de Software
Em desenvolvimento Web, um dos padrões arquiteturais mais utilizados é o MVC. MVC é a sigla para Model-View-Controller ou modelo-visão-controlador, em português. Sobre MVC, é CORRETO afirmar:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a Alternativa A.

Vamos analisar e comentar cada uma das alternativas para entender por que esta é a correta e as outras estão incorretas.

Alternativa A: "A camada de visão é responsável por apresentar a informação. Em sistemas que não possuam telas, apenas web services, a resposta de um serviço pode ser considerada sua visão."

Esta alternativa está correta. A camada de visão (ou view) é realmente responsável por apresentar a informação ao usuário. Mesmo em sistemas que não possuem interface gráfica, como serviços web, a saída gerada (por exemplo, um JSON ou XML) pode ser considerada a "visão" do sistema, pois é como os dados são apresentados ao cliente ou ao usuário final.

Alternativa B: "Na arquitetura MVC, o controlador possui como única responsabilidade receber as requisições da visão e atualizar o modelo de acordo com tais camadas."

Esta alternativa está incorreta. O controlador (ou controller) tem a responsabilidade de receber as requisições da visão, mas também de processar essas requisições, podendo chamar serviços, realizar lógica de negócios e, após atualizar o modelo, decidir qual visão deve ser apresentada. Ou seja, suas responsabilidades não se limitam a apenas atualizar o modelo.

Alternativa C: "Em sistemas contemporâneos, é comum a adição de uma camada de serviço e outra de persistência. Tais camadas, na arquitetura MVC, fazem parte do Model."

Esta alternativa está incorreta. Embora a camada de serviço e a de persistência sejam frequentemente utilizadas em sistemas modernos, elas não fazem parte exclusivamente do modelo na arquitetura MVC. A camada de serviço pode ser considerada uma camada intermediária que também interage com o controlador, enquanto a camada de persistência está mais relacionada à infraestrutura do sistema do que ao modelo em si.

Alternativa D: "A camada de modelo é responsável pela persistência dos dados e por notificar a visão de modificações, atualizando-a."

Esta alternativa está incorreta. O modelo (ou model) é responsável por gerenciar os dados e a lógica de negócios, mas a persistência dos dados é comumente tratada por uma camada de persistência separada. Além disso, no MVC puro, o modelo não notifica a visão diretamente. Em vez disso, ele notifica o controlador, que então decide como a visão deve ser atualizada.

Espero que esta explicação tenha esclarecido suas dúvidas sobre a questão e os conceitos associados ao padrão arquitetural MVC. Caso tenha mais perguntas ou precise de mais detalhes, estarei à disposição para ajudar!

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

ChatGPT:

A afirmação correta sobre o padrão MVC é:

D) A camada de modelo é responsável pela persistência dos dados e por notificar a visão de modificações, atualizando-a.

Na arquitetura MVC, o Model representa a camada de negócios e dados da aplicação. Ele é responsável pela lógica de negócios, acesso aos dados e persistência dos mesmos. Além disso, o Model notifica a View de quaisquer alterações nos dados, permitindo que ela seja atualizada conforme necessário.

A) CORRETO

A View (Visão) é responsável por apresentar as informações ao usuário. Em sistemas sem interface gráfica tradicional, como web services, a resposta do serviço pode ser considerada a sua visão, pois representa os dados de saída que serão consumidos por outra aplicação.

B) INCORRETO

O Controller não se limita apenas a receber requisições e atualizar o Model. Ele também pode processar a entrada do usuário, validar dados e definir qual View será renderizada, atuando como intermediário entre as camadas.

C) INCORRETO

Em sistemas modernos, é comum adicionar camadas como serviço e persistência, mas essas camadas não fazem parte diretamente do Model no MVC tradicional. Elas são separadas para melhor modularidade, sendo frequentemente usadas em arquiteturas como MVC + Service Layer + DAO (Data Access Object).

D) INCORRETO

O Model gerencia dados e lógica de negócio, mas não é responsável por notificar automaticamente a View. A atualização da interface pode ser gerenciada pelo Controller ou por mecanismos de observação, dependendo da implementação do MVC.

Clique para visualizar este comentário

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