Prévia do material em texto
Padrão MVC (Model-View-Controller) 1. O que significa a sigla MVC no padrao de arquitetura de software? a) Model-View-Controller b) Model-View-Connector c) Multiple-View-Controller d) Manage-View-Controller Resposta correta: a) Model-View-Controller Explicacao: O padrao MVC e uma arquitetura de software amplamente utilizada no desenvolvimento de interfaces graficas de usuario (GUIs). Ele divide o sistema em tres componentes: Model (Modelo), View (Visao) e Controller (Controlador), cada um com uma responsabilidade especifica. 2. Qual e a principal responsabilidade do Model (Modelo) no padrao MVC? a) Exibir dados ao usuario b) Controlar a entrada do usuario c) Representar e gerenciar dados, regras de negocio e logica d) Atualizar a interface de usuario com dados do servidor Resposta correta: c) Representar e gerenciar dados, regras de negocio e logica Explicacao: O Model e responsavel por gerenciar os dados, interagir com o banco de dados e aplicar a logica de negocios. Ele nao deve se preocupar com a exibicao ou controle da interface do usuario. 3. O que o View (Visao) faz em uma aplicacao que segue o padrao MVC? a) Processa a logica de negocios b) Exibe os dados para o usuario de maneira interativa c) Controla os eventos de interacao do usuario d) Gerencia as acoes do banco de dados Resposta correta: b) Exibe os dados para o usuario de maneira interativa Explicacao: O View e responsavel pela apresentacao dos dados ao usuario. Ele e responsavel apenas pela parte visual, sem se preocupar com a logica de manipulacao de dados ou com o controle das acoes do usuario. 4. Qual e o papel do Controller (Controlador) no padrao MVC? a) Receber e processar as acoes do usuario, atualizar o Model e a View b) Exibir os dados de forma interativa para o usuario c) Gerenciar o banco de dados da aplicacao d) Atualizar a interface com os dados do servidor Resposta correta: a) Receber e processar as acoes do usuario, atualizar o Model e a View Explicacao: O Controller age como intermediario entre o Model e a View. Ele recebe entradas do usuario (como cliques e comandos), interage com o Model para processar essas entradas e entao atualiza a View conforme necessario. 5. O padrao MVC permite que a interface de usuario seja alterada sem afetar a logica de negocios. Como isso acontece? a) Por meio da separacao das responsabilidades de cada componente b) Por meio da comunicacao direta entre a View e o Model c) Porque todos os componentes estao interligados d) Porque a View nao tem acesso ao Model Resposta correta: a) Por meio da separacao das responsabilidades de cada componente Explicacao: A separacao das responsabilidades no padrao MVC permite que cada parte da aplicacao seja modificada independentemente. A View pode ser alterada para exibir dados de diferentes formas, enquanto o Model e o Controller permanecem inalterados. 6. Quando um usuario interage com a View, o que o Controller faz? a) Atualiza os dados no Model e entao solicita uma atualizacao da View b) Apenas exibe os dados que ja estao no Model c) Interage diretamente com o banco de dados para obter novos dados d) Modifica o codigo-fonte da aplicacao Resposta correta: a) Atualiza os dados no Model e entao solicita uma atualizacao da View Explicacao: Quando o usuario interage com a interface (View), o Controller recebe a entrada, processa-a e pode alterar o Model. Depois de atualizar o Model, o Controller notifica a View para exibir os dados mais recentes ao usuario. 7. Quais das alternativas a seguir sao vantagens do padrao MVC? a) Facilidade de manutencao e reutilizacao de codigo b) Aumento de complexidade do codigo c) Restricao ao uso de banco de dados relacionais d) Reducao de escalabilidade da aplicacao Resposta correta: a) Facilidade de manutencao e reutilizacao de codigo Explicacao: A principal vantagem do MVC e a separacao clara das responsabilidades. Isso facilita a manutencao do codigo, pois alteracoes em um componente (como a View) nao afetam diretamente outros (como o Model). Tambem facilita a reutilizacao de codigo, ja que os componentes podem ser reutilizados em diferentes partes da aplicacao. 8. No padrao MVC, qual dos componentes e responsavel por manipular dados e interagir com o banco de dados? a) Controller b) View c) Model d) Banco de Dados Resposta correta: c) Model Explicacao: O Model e responsavel por armazenar e manipular os dados da aplicacao, incluindo interacoes com o banco de dados. Ele aplica as regras de negocios e garante que os dados estejam sempre corretos e atualizados. 9. Em qual cenario o padrao MVC e mais recomendado para ser utilizado? a) Quando se deseja uma aplicacao simples sem muitas funcionalidades interativas b) Quando ha a necessidade de uma grande separacao entre a interface de usuario e a logica de negocios c) Quando se quer combinar todos os componentes em uma unica camada para simplificar a implementacao d) Quando a aplicacao nao precisa de interacao com o usuario Resposta correta: b) Quando ha a necessidade de uma grande separacao entre a interface de usuario e a logica de negocios Explicacao: O MVC e recomendado em cenarios em que se deseja separar claramente a interface de usuario da logica de negocios. Isso facilita a manutencao e evolucao do sistema, alem de permitir que diferentes desenvolvedores trabalhem nas diversas partes da aplicacao sem interferir uns nos outros. 10. Qual e a principal diferenca entre o padrao MVC e o padrao MVVM (Model-View-ViewModel)? a) O MVVM nao utiliza um controlador, mas um ViewModel para gerenciar a logica de apresentacao b) O MVC foca mais em interacao de dados e o MVVM foca na separacao de camadas de dados c) O MVVM nao permite interatividade com o usuario d) O padrao MVC e mais flexivel que o MVVM Resposta correta: a) O MVVM nao utiliza um controlador, mas um ViewModel para gerenciar a logica de apresentacao Explicacao: A principal diferenca entre MVC e MVVM e que, no MVVM, a logica de apresentacao e gerida pelo ViewModel, em vez de um Controller, como no MVC. O ViewModel serve como intermediario entre o Model e a View, proporcionando uma maior separacao das responsabilidades. 11. No padrao MVC, como a comunicacao entre o Controller e o Model e realizada? a) O Controller chama metodos do Model para manipular os dados b) O Controller apenas modifica a View, sem interagir com o Model c) O Model envia dados diretamente para a View, sem passar pelo Controller d) O Controller nao tem acesso ao Model, apenas a View Resposta correta: a) O Controller chama metodos do Model para manipular os dados Explicacao: O Controller interage com o Model para alterar ou recuperar dados conforme necessario. Depois, ele envia a informacao atualizada para a View, que exibe ao usuario. 12. Quais sao os principais desafios ao se implementar o padrao MVC em uma aplicacao? a) Aumento da complexidade e dificuldade de integracao entre os componentes b) Simplicidade de implementacao e manutencao c) A View e o Model nao precisam ser mantidos de forma sincronizada d) Nao existem desafios relevantes Resposta correta: a) Aumento da complexidade e dificuldade de integracao entre os componentes Explicacao: Embora o padrao MVC traga vantagens, como a separacao de responsabilidades, ele tambem pode aumentar a complexidade da implementacao. A comunicacao entre o Model, View e Controller precisa ser bem estruturada, o que pode ser desafiador, especialmente em sistemas mais complexos. 13. Qual a principal vantagem de usar o padrao MVC em sistemas com multiplos tipos de interface de usuario? a) Permitir que diferentes interfaces de usuario compartilhem a mesma logica de negocios b) A View pode ser modificada sem alterar o Model c) Facilitar a implementacao de interfaces graficas complexas d) Reduzir o uso de recursos do sistema Resposta correta: a) Permitir que diferentes interfaces de usuario compartilhem a mesma logica de negocios Explicacao: No padrao MVC, a separacao entre a logicade negocios (Model) e a interface de usuario (View) facilita o desenvolvimento de diferentes tipos de interfaces (como desktop, web ou mobile) sem precisar modificar o Model. 14. O que ocorre quando o Model e alterado em uma arquitetura MVC? a) A View e automaticamente atualizada para refletir as mudancas b) O Controller precisa ser reescrito para suportar a alteracao c) A View e o Controller precisam ser atualizados manualmente d) Nao ha necessidade de fazer nada, pois o Model nao afeta a interface Resposta correta: a) A View e automaticamente atualizada para refletir as mudancas Explicacao: No padrao MVC, quando o Model e alterado, a View e atualizada automaticamente para refletir as mudancas, desde que o sistema tenha implementado uma forma de notificar a View sobre essas mudancas, o que pode ser feito por mecanismos de "binding" ou "observacao". 15. Qual a principal desvantagem do padrao MVC em projetos muito pequenos? a)