Sobre as camadas do modelo de arquitetura MVC (Model- View-C...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a alternativa D: "A camada Controller geralmente possui um componente controlador padrão criado para atender a todas as requisições do cliente."
Vamos entender melhor o porquê dessa alternativa ser a correta e revisar as outras opções:
Alternativa A: "Todos os dados e a lógica do negócio para processá-los devem ser representados na camada Controller."
Incorreta. A camada Controller é responsável por receber as requisições dos usuários, processá-las e determinar qual ação tomar, mas não deve conter toda a lógica de negócio e dados. Essas responsabilidades pertencem à camada Model.
Alternativa B: "A camada Model pode interagir com a camada View para converter as ações do cliente em ações que são compreendidas e executadas na camada Controller."
Incorreta. No padrão MVC, a camada Model não interage diretamente com a camada View. A interação ocorre entre Controller e View, e entre Controller e Model. O Controller serve como intermediário para atualizar o Model e refletir essas mudanças na View.
Alternativa C: "A camada View é a camada responsável por exibir os dados ao usuário. Em todos os casos essa camada somente pode acessar a camada Model por meio da camada Controller."
Incorreta. Embora a camada View seja realmente responsável por exibir os dados ao usuário, ela pode acessar a camada Model diretamente para obter os dados. A atualização do Model e a lógica de negócio, no entanto, são gerenciadas pelo Controller.
Alternativa D: "A camada Controller geralmente possui um componente controlador padrão criado para atender a todas as requisições do cliente."
Correta. A camada Controller é projetada para lidar com as requisições dos usuários e determinar as ações apropriadas com base nessas requisições. É comum ter um controlador padrão ou vários controladores especializados que gerenciam diferentes tipos de requisições.
Alternativa E: "Em aplicações web desenvolvidas com Java as servlets são representadas na camada Model."
Incorreta. As servlets em aplicações Java são geralmente parte da camada Controller, não da camada Model. Elas são usadas para processar requisições HTTP, controlar a lógica de navegação e interagir com a camada Model para fornecer dados à View.
Espero que essa explicação tenha esclarecido suas dúvidas sobre a arquitetura MVC. Se precisar de mais alguma ajuda, estarei à disposição!
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
Model-view-controller (MVC) é um padrão de arquitetura de software que visa a separar a lógica de negócio da lógica de apresentação, permitindo o desenvolvimento, teste e manutenção isolado de ambos.
O modelo (model) é usado para definir e gerenciar o domínio da informação e notificar observadores sobre mudanças nos dados. Ele é uma representação detalhada da informação que a aplicação opera. A lógica de negócio adiciona valor semântico aos dados, e quando há mudança de estado o modelo notifica seus observadores. Por exemplo, aluno, professor e turma fazem parte do domínio de um sistema acadêmico. Operações como calcular a média final do aluno ou o índice de faltas da turma fazem parte da lógica de domínio. A forma como o dado é armazenado ou acessado não é de interesse do MVC, assume-se que é de responsabilidade do modelo.
A visão (view) apresenta o modelo num formato adequado ao utilizador, na saída de dados, e diferentes visões podem existir para um mesmo modelo, para diferentes propósitos.
O controlador (controller) recebe a entrada de dados e inicia a resposta ao utilizador ao invocar objetos do modelo, e por fim uma visão baseada na entrada. Ele também é responsável pela validação e filtragem da entrada de dados.
Um caso prático é uma aplicação web em que a visão é um documento HTML (ou derivado) gerado pela aplicação. O controlador recebe uma entrada GET ou POST após um estímulo do utilizador e decide como processá-la, invocando objetos do domínio para tratar a lógica de negócio, e por fim invocando uma visão para apresentar a saída.
fonte:
http://pt.wikipedia.org/wiki/MVC
http://www.macoratti.net/vbn_mvc.htm
imagem: http://pt.wikipedia.org
/wiki/Ficheiro:ModelViewControllerDiagram2.svg
=================================================
Complementando a resposta do colega, para o caso do Java (letra E da questão):
- Model - Classes Java (EntityBeans).
View - JavaServer Page / JavaServer Faces
Controller - Servlet
Fonte: http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller#Java:_Java_Platform,_Enterprise_Edition_(Java_EE)
Portanto, os servlets são usados no Controller e não na camada Model.
Vide figura da arquitetura MVC: http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
A resposta e o entendimento da questões pode ser achado no link da fonte:
"A regra fundamental em uma arquitetura em três camadas é que a camada de apresentação (cliente) nunca se comunica diretamente com a camada de dados, em um modelo de três camadas toda a comunicação deve passar pela camada de intermediária.
Conceitualmente a arquitetura de três camadas é linear.
No entanto, a arquitetura MVC é triangular: a view envia atualizações para o controlador, o controlador atualiza o modelo, e a view é atualizada diretamente do modelo."
Fonte: http://www.macoratti.net/vbn_mvc.htm
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo