A arquitetura MVC (Model-View-Controller), um modelo de arquitetura de software, é aplicada à divisão ou abstração de tarefas em camadas independentes que, através de trocas de requisições e mensagens, se interagem de forma a organizar o código para que sua manutenção, encapsulamento e reúso fiquem mais dinâmicos e simples, pois permite uma melhor separação de responsabilidades e de distribuição de tarefas. Diante do exposto, analise as afirmativas a seguir. I. Model: camada que contém a aplicação física, e de sua responsabilidade apresentar a interface gráfica do sistema aos usuários. II. Controller: define o comportamento da aplicação; é como um gerenciador da interface do usuário, interpretando suas ações e que se comunica por meio de eventos disparados pela interação do usuário com o Modelo no padrão MVC para atualizar dados à View. A função desse padrão de arquitetura é tornar possível a separação entre as camadas. III. View: camada de apresentação com usuário, ou seja, são classes responsáveis pela apresentação da interface gráfica do sistema, onde são realizadas a entrada de dados e a visualização das respostas processadas. Está correto o que se afirma em
- A)I, II e III.
A alternativa afirma que as três proposições estão corretas. Isso não se sustenta porque a I inverte os papéis do MVC: o Model não apresenta interface gráfica nem é a aplicação física, mas a camada de dados e regras de negócio. Já II e III reproduzem, em essência, as funções de Controller e View, mas a presença da I torna a opção inválida.
- B)I e II, apenas.
A alternativa sustenta que apenas I e II estão corretas. O problema é que a I descreve o Model de forma equivocada, atribuindo a ele a interface gráfica, quando essa função é da View. Além disso, a III também está de acordo com o MVC ao tratar a View como camada de apresentação e interação com o usuário, então a combinação indicada não fecha.
- C)I e III, apenas.
A alternativa diz que I e III estão corretas. A III realmente corresponde à View como camada de apresentação, responsável por exibir dados e receber a interação do usuário, mas a I está errada ao confundir Model com interface gráfica. Também falta a II, que descreve corretamente o Controller como o intermediário que interpreta as ações do usuário e coordena a atualização entre Model e View.
- D)II e III, apenas.
A alternativa afirma que apenas II e III estão corretas, e é isso que o MVC ensina. O Controller recebe e interpreta eventos da interface, decidindo como a aplicação reage e ajudando a manter a separação de responsabilidades; a View, por sua vez, é a camada de apresentação e exibição dos dados. A I é a incorreta, porque o Model não é a interface gráfica, mas a parte que concentra dados e regras de negócio.
Gabarito: D
No MVC, cada parte tem um papel bem definido: o Model cuida dos dados e das regras de negócio, a View mostra a informação ao usuário, e o Controller recebe as ações do usuário e coordena o fluxo entre as camadas. Pense nele como uma cozinha organizada: um pega o pedido, outro prepara, outro entrega. Assim, o sistema fica mais fácil de manter, testar e reaproveitar. Na afirmativa I, há troca de papéis: o Model não é a camada de interface gráfica nem a parte física da aplicação. Quem faz a apresentação ao usuário é a View. Então I está errada. A afirmativa II está correta ao atribuir ao Controller a interpretação das ações do usuário e a mediação entre as camadas. Em MVC, o Controller realmente faz essa ponte, disparando a lógica adequada e atualizando o que for necessário na View e no Model. A afirmativa III também está correta, porque a View é a camada de apresentação, responsável por exibir dados e capturar entradas do usuário. Por isso, o gabarito é D: apenas II e III estão corretas.