Prévia do material em texto
Padrão MVC (Model-View-Controller) 1. O que e o padrao MVC? a) Uma arquitetura usada exclusivamente para o desenvolvimento de jogos. b) Um padrao de design que separa a aplicacao em tres componentes principais: Model, View e Controller. c) Uma tecnica de otimizacao de codigo usada apenas em sistemas de bancos de dados. d) Uma biblioteca que auxilia na criacao de interfaces graficas. Resposta correta: b) Um padrao de design que separa a aplicacao em tres componentes principais: Model, View e Controller. Explicacao: O padrao MVC divide a aplicacao em tres componentes principais, tornando o desenvolvimento mais organizado e facilitando a manutencao e escalabilidade do sistema. 2. O que o "Model" representa no padrao MVC? a) A interface grafica com o usuario. b) O controlador da logica de aplicacao. c) Os dados da aplicacao e as regras de negocios. d) O codigo responsavel pela comunicacao com o banco de dados. Resposta correta: c) Os dados da aplicacao e as regras de negocios. Explicacao: O "Model" lida com os dados, realizando operacoes e aplicando as regras de negocios. Ele tambem e responsavel por atualizar o banco de dados quando necessario. 3. Qual e a principal funcao da "View" no padrao MVC? a) Definir como os dados sao manipulados. b) Exibir os dados ao usuario de forma visual. c) Controlar a interacao do usuario com a aplicacao. d) Processar e validar os dados recebidos do usuario. Resposta correta: b) Exibir os dados ao usuario de forma visual. Explicacao: A "View" e responsavel por apresentar os dados ao usuario de forma organizada, geralmente com uma interface grafica. Ela nao deve modificar ou processar dados, apenas exibi-los. 4. O que e o "Controller" no contexto do padrao MVC? a) A camada que comunica diretamente com o banco de dados. b) O componente que exibe os dados ao usuario. c) O intermediario que processa as entradas do usuario e interage com o "Model" e a "View". d) A camada que define as regras de negocio da aplicacao. Resposta correta: c) O intermediario que processa as entradas do usuario e interage com o "Model" e a "View". Explicacao: O "Controller" e responsavel por receber as interacoes do usuario, processa-las e interagir com o "Model" para realizar as operacoes necessarias, como recuperar ou modificar dados. Em seguida, ele pode atualizar a "View" com os resultados. 5. Qual dos seguintes e um beneficio direto de usar o padrao MVC em uma aplicacao? a) Aumento da complexidade do codigo. b) Reducao do tempo de desenvolvimento inicial. c) Melhora na manutencao e escalabilidade do codigo. d) Maior necessidade de recursos computacionais. Resposta correta: c) Melhora na manutencao e escalabilidade do codigo. Explicacao: O padrao MVC facilita a manutencao e a escalabilidade, pois separa claramente as responsabilidades entre os componentes. Isso permite que os desenvolvedores modifiquem ou adicionem funcionalidades sem afetar o restante da aplicacao. 6. O que acontece quando a "View" e modificada sem que o "Model" seja alterado? a) A aplicacao deixa de funcionar. b) O estado da aplicacao pode ficar inconsistente. c) A alteracao nao tem efeito no comportamento da aplicacao. d) O "Controller" realiza as modificacoes no "Model" automaticamente. Resposta correta: b) O estado da aplicacao pode ficar inconsistente. Explicacao: Como o "View" depende dos dados fornecidos pelo "Model", modificar a "View" sem atualizar o "Model" pode causar inconsistencias, pois os dados exibidos podem nao refletir o estado atual da aplicacao. 7. Em um padrao MVC, qual dos componentes e responsavel por responder a eventos gerados pela interface do usuario, como cliques de botoes? a) Model. b) View. c) Controller. d) Banco de Dados. Resposta correta: c) Controller. Explicacao: O "Controller" e responsavel por gerenciar os eventos acionados pelo usuario e tomar as acoes apropriadas, como alterar o "Model" ou atualizar a "View". 8. Qual e a principal vantagem de se manter uma separacao clara entre o "Model", "View" e "Controller"? a) Facilitar a colaboracao entre equipes de design e desenvolvimento. b) Tornar a interface do usuario mais complexa. c) Impedir a modificacao do banco de dados. d) Aumentar a dependencia entre as camadas da aplicacao. Resposta correta: a) Facilitar a colaboracao entre equipes de design e desenvolvimento. Explicacao: Ao separar claramente as responsabilidades, diferentes equipes podem trabalhar de forma independente. A equipe de design pode focar na "View", enquanto a equipe de desenvolvimento pode trabalhar no "Model" e "Controller". 9. No padrao MVC, o que acontece quando o "Model" e alterado? a) A "View" e automaticamente atualizada. b) O "Controller" deve manualmente atualizar a "View". c) A aplicacao falha devido a falta de atualizacao na "View". d) Nao ha efeito na "View". Resposta correta: a) A "View" e automaticamente atualizada. Explicacao: Quando o "Model" e alterado, ele pode notificar a "View" automaticamente para que os dados sejam atualizados na interface do usuario. Isso e frequentemente feito utilizando mecanismos de observacao ou eventos. 10. Qual dos seguintes frameworks e amplamente utilizado para implementar o padrao MVC no desenvolvimento web? a) React b) Django c) Bootstrap d) jQuery Resposta correta: b) Django. Explicacao: Django e um framework web baseado no padrao MVC, comumente utilizado para desenvolvimento de aplicacoes web. Em Django, o padrao e denominado MVT (Model-View-Template), que e uma variacao do MVC. 11. Qual e a principal diferenca entre o padrao MVC e o padrao MVVM (Model-View-ViewModel)? a) O MVVM nao utiliza um "Controller". b) O MVC nao separa a camada de apresentacao. c) No MVVM, a interacao entre o "Model" e a "View" e feita atraves de um "ViewModel", enquanto no MVC a interacao e mediada pelo "Controller". d) Nao existe diferenca significativa entre os dois padroes. Resposta correta: c) No MVVM, a interacao entre o "Model" e a "View" e feita atraves de um "ViewModel", enquanto no MVC a interacao e mediada pelo "Controller". Explicacao: No MVVM, o "ViewModel" serve como uma camada intermediaria entre a "View" e o "Model", permitindo que a "View" seja mais desacoplada do "Model". No MVC, essa interacao e feita diretamente pelo "Controller". 12. Qual e o papel do "Controller" quando o usuario interage com a interface da aplicacao? a) Modificar diretamente os dados no banco de dados. b) Atualizar a interface grafica com base nas entradas do usuario. c) Receber as entradas do usuario, processa-las e atualizar o "Model" ou a "View". d) Nao tem nenhuma funcao direta com as interacoes do usuario. Resposta correta: c) Receber as entradas do usuario, processa-las e atualizar o "Model" ou a "View". Explicacao: O "Controller" e o componente que lida com a entrada do usuario. Ele processa esses eventos, realiza operacoes no "Model" e, se necessario, atualiza a "View" com as novas informacoes. 13. Em uma aplicacao baseada no padrao MVC, quem e responsavel por controlar o fluxo de dados entre a "View" e o "Model"? a) O "Controller". b) A "View". c) O "Model". d) O Banco de Dados. Resposta correta: a) O "Controller". Explicacao: O "Controller" e responsavel por gerenciar a comunicacao entre a "View" e o "Model". Ele recebe a entrada do usuario da "View", realiza operacoes no "Model" e, em seguida, atualiza a "View" com os resultados. 14. O padrao MVC e particularmente util em aplicacoes web porque ele permite: a) Integracao mais rapida com o banco de dados. b) Separacao das responsabilidades, facilitando a manutencao e escalabilidade. c) Maior complexidade no gerenciamento do codigo. d) Exibicao de dados diretamente no servidor sem necessidade de interacao com o cliente. Resposta correta: b) Separacao das responsabilidades, facilitando a manutencao e escalabilidade. Explicacao: O MVC facilita a manutencao e escalabilidade de aplicacoes web, pois separa claramente as responsabilidades. Isso permite que a interfacedo usuario, a logica de negocios e os dados sejam gerenciados de forma independente. 15. Qual dos seguintes conceitos NAO faz parte da arquitetura MVC? a) Encapsulamento de dados. b) Comunicacao direta entre a "View" e o "Model". c) Manipulacao de eventos do usuario pelo "Controller". d) Separacao das camadas de dados, logica e apresentacao. Resposta correta: b) Comunicacao direta entre a "View" e o "Model". Explicacao: No padrao MVC, a