Baixe o app para aproveitar ainda mais
Prévia do material em texto
Teste de Conhecimento avalie sua aprendizagem PADRÕES DE PROJETO DE SOFTWARE COM JAVA Lupa Calc. Aluno: Disc.: PADRÕES DE PROJ 2022.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 02684PADRÕES GOF DE CRIAÇÃO 1. Analise a estratégia de solução a seguir: ''Implementar uma operação clone em cada produto concreto a ser instanciado, permitindo que um módulo cliente crie uma nova instância por meio da criação de uma réplica de um objeto já existente''. Assinale a alternativa com o nome do padrão que define essa estratégia: Prototype Abstract Factory Singleton Factory Method Builder Data Resp.: 03/06/2022 00:57:19 Explicação: A resposta certa é: Prototype 2. Analise a estratégia de solução a seguir: ''Definir um participante Creator com uma operação abstrata que é implementada em cada subclasse Concrete Creator, sendo cada implementação concreta dessa operação responsável pela instanciação de um produto específico''. Assinale a alternativa com o nome do padrão que define essa estratégia: Builder Singleton Factory Method Abstract Factory Prototype Data Resp.: 03/06/2022 00:57:41 Explicação: A resposta certa é: Factory Method 02685PADRÕES GOF ESTRUTURAIS 3. Você está desenvolvendo um sistema e percebe que está instanciando uma grande quantidade de objetos cujos atributos não mudam de valor durante toda a execução do programa. Muitos desses objetos instanciados são réplicas, o que gera uma utilização muito ineficiente da memória. Assinale a alternativa com o nome do padrão que poderia ser aplicado nesse cenário: Flyweight Singleton Decorator Bridge Composite Data Resp.: 03/06/2022 00:58:29 Explicação: A resposta certa é: Flyweight 4. Que padrão pode ser utilizado na implementação de uma estrutura hierárquica de diretório, em que existam pastas que podem conter pastas ou arquivos, sendo que algumas operações com as pastas devem ser aplicadas de forma recursiva aos elementos que fazem parte dela, isto é, outras pastas e arquivos? Proxy Adapter Composite Facade Flyweight Data Resp.: 03/06/2022 00:58:58 Explicação: A resposta certa é: Composite 02683PADRÕES GOF COMPORTAMENTAIS 5. Você está implementando um sistema e quer guardar o histórico de todas as requisições efetuadas pelo usuário via interface gráfica, de forma a poder realizar operações, como desfazer (undo) e refazer (redo) requisições. Assinale a alternativa com o nome do padrão mais indicado para ser aplicado nesse contexto: Strategy Command Mediator Chain of Responsibility State Data Resp.: 03/06/2022 00:59:20 Explicação: Gabarito: Command 6. Você está desenvolvendo um sistema para acompanhar as cotações da bolsa de valores. As cotações podem ser acompanhadas na interface com usuário na forma textual (ticker da ação e o seu valor) e na forma de um gráfico de candlesticks, apresentando o histórico das cotações em um período do tempo. As duas formas de visualização devem estar em sincronia com as variações que ocorrem com o valor da cotação das ações. Assinale a alternativa com o nome do padrão que pode ser aplicado para resolver esse problema de sincronização de visualizações de um conjunto de informações com a sua fonte. Mediator State Strategy Iterator Observer Data Resp.: 03/06/2022 01:00:01 Explicação: Gabarito: Observer 02686PADRÕES GRASP 7. Um módulo X escreve dados em uma tabela de um banco de dados relacional que é lida por um módulo Y. Se o desenvolvedor responsável pelo módulo X resolver mudar algo no esquema dessa tabela, será preciso avaliar o impacto dessa mudança em Y. Esse fato evidencia a existência de um acoplamento de que natureza entre os módulos X e Y? Acoplamento Global Acoplamento de Dados Acoplamento de Estrutura Acoplamento de Controle Acoplamento Externo Data Resp.: 03/06/2022 01:01:11 Explicação: O acoplamento externo ocorre quando módulos compartilham alguma parte do ambiente externo ao software, tais como banco de dados. 8. Assinale a alternativa CORRETA sobre o padrão GRASP Coesão. Um módulo com coesão alta é aquele que concentra o código das funções mais importantes do sistema. Um módulo com coesão alta é aquele que concentra operações logicamente relacionadas envolvendo diferentes tecnologias ou sistemas externos. Um módulo com coesão baixa é aquele que depende de um pequeno conjunto de módulos. Um módulo com coesão alta reúne elementos que contribuem para que o módulo realize o seu propósito específico. Um módulo com coesão baixa é aquele que possui um propósito bem definido. Data Resp.: 03/06/2022 01:02:59 Explicação: Coesão é um conceito para avaliar se as responsabilidades de um módulo estão relacionadas e possuem o mesmo propósito. Assim, coesão alta constitui módulos que tenham um propósito bem definido. TECNOLOGIAS JPA E JEE 9. Ao trabalhar com um aplicativo corporativo, segundo a arquitetura MVC, ocorre uma divisão natural das camadas, em termos dos projetos internos, ficando a camada View sob responsabilidade do projeto com terminador "war". A interface padrão, conforme o próprio terminador indica, é um aplicativo Java Web, sendo comum a implementação de um padrão de desenvolvimento para centralizar o tratamento das requisições, bem como redirecionar para a visualização correta, após efetuar as chamadas para a camada Controller. De qual padrão estamos falando, e qual o componente deve implementá-lo? Padrão de desenvolvimento DAO e componente do tipo JPA Padrão de desenvolvimento Service Locator e componente do tipo JNDI Padrão de desenvolvimento Front Controller e componente do tipo Servlet Padrão de desenvolvimento Flyweight e componente do tipo EJB Padrão de desenvolvimento Facade e componente do tipo EJB Data Resp.: 03/06/2022 01:03:40 Explicação: A resposta correta é: Padrão de desenvolvimento Front Controller e componente do tipo Servlet 10. Mesmo que as novas tecnologias adotem anotações, no lugar de arquivos XML, para efetuar diversas configurações, ainda temos a necessidade de utilizar um arquivo nesse formato, no ambiente do JPA, com a responsabilidade de definir parâmetros globais e a conexão com o banco de dados. Qual o nome do arquivo? readme.txt context.xml web.xml persistence.xml manifest Data Resp.: 03/06/2022 01:04:59 Explicação: A resposta correta é: persistence.xml Teste de Conhecimento avalie sua aprendizagem PADRÕES DE PROJETO DE SOFTWARE COM JAVA Lupa Calc. EEX0129_202001618601_TEMAS Aluno: SAULO DE JESUS DAS NEVES Matr.: 202001618601 Disc.: PADRÕES DE PROJ 2022.1 EAD (GT) / EX Prezado (a) Aluno(a), Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. Após responde cada questão, você terá acesso ao gabaritocomentado e/ou à explicação da mesma. Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 02684PADRÕES GOF DE CRIAÇÃO 1. Analise a estratégia de solução a seguir: ''Implementar uma operação clone em cada produto concreto a ser instanciado, permitindo que um módulo cliente crie uma nova instância por meio da criação de uma réplica de um objeto já existente''. Assinale a alternativa com o nome do padrão que define essa estratégia: Prototype Abstract Factory Singleton Factory Method Builder Data Resp.: 03/06/2022 00:57:19 Explicação: A resposta certa é: Prototype 2. Analise a estratégia de solução a seguir: ''Definir um participante Creator com uma operação abstrata que é implementada em cada subclasse Concrete Creator, sendo cada implementação concreta dessa operação responsável pela instanciação de um produto específico''. Assinale a alternativa com o nome do padrão que define essa estratégia: Builder Singleton Factory Method Abstract Factory Prototype Data Resp.: 03/06/2022 00:57:41 Explicação: A resposta certa é: Factory Method 02685PADRÕES GOF ESTRUTURAIS 3. Você está desenvolvendo um sistema e percebe que está instanciando uma grande quantidade de objetos cujos atributos não mudam de valor durante toda a execução do programa. Muitos desses objetos instanciados são réplicas, o que gera uma utilização muito ineficiente da memória. Assinale a alternativa com o nome do padrão que poderia ser aplicado nesse cenário: Flyweight Singleton Decorator Bridge Composite Data Resp.: 03/06/2022 00:58:29 Explicação: A resposta certa é: Flyweight 4. Que padrão pode ser utilizado na implementação de uma estrutura hierárquica de diretório, em que existam pastas que podem conter pastas ou arquivos, sendo que algumas operações com as pastas devem ser aplicadas de forma recursiva aos elementos que fazem parte dela, isto é, outras pastas e arquivos? Proxy Adapter Composite Facade Flyweight Data Resp.: 03/06/2022 00:58:58 Explicação: A resposta certa é: Composite 02683PADRÕES GOF COMPORTAMENTAIS 5. Você está implementando um sistema e quer guardar o histórico de todas as requisições efetuadas pelo usuário via interface gráfica, de forma a poder realizar operações, como desfazer (undo) e refazer (redo) requisições. Assinale a alternativa com o nome do padrão mais indicado para ser aplicado nesse contexto: Strategy Command Mediator Chain of Responsibility State Data Resp.: 03/06/2022 00:59:20 Explicação: Gabarito: Command 6. Você está desenvolvendo um sistema para acompanhar as cotações da bolsa de valores. As cotações podem ser acompanhadas na interface com usuário na forma textual (ticker da ação e o seu valor) e na forma de um gráfico de candlesticks, apresentando o histórico das cotações em um período do tempo. As duas formas de visualização devem estar em sincronia com as variações que ocorrem com o valor da cotação das ações. Assinale a alternativa com o nome do padrão que pode ser aplicado para resolver esse problema de sincronização de visualizações de um conjunto de informações com a sua fonte. Mediator State Strategy Iterator Observer Data Resp.: 03/06/2022 01:00:01 Explicação: Gabarito: Observer 02686PADRÕES GRASP 7. Um módulo X escreve dados em uma tabela de um banco de dados relacional que é lida por um módulo Y. Se o desenvolvedor responsável pelo módulo X resolver mudar algo no esquema dessa tabela, será preciso avaliar o impacto dessa mudança em Y. Esse fato evidencia a existência de um acoplamento de que natureza entre os módulos X e Y? Acoplamento Global Acoplamento de Dados Acoplamento de Estrutura Acoplamento de Controle Acoplamento Externo Data Resp.: 03/06/2022 01:01:11 Explicação: O acoplamento externo ocorre quando módulos compartilham alguma parte do ambiente externo ao software, tais como banco de dados. 8. Assinale a alternativa CORRETA sobre o padrão GRASP Coesão. Um módulo com coesão alta é aquele que concentra o código das funções mais importantes do sistema. Um módulo com coesão alta é aquele que concentra operações logicamente relacionadas envolvendo diferentes tecnologias ou sistemas externos. Um módulo com coesão baixa é aquele que depende de um pequeno conjunto de módulos. Um módulo com coesão alta reúne elementos que contribuem para que o módulo realize o seu propósito específico. Um módulo com coesão baixa é aquele que possui um propósito bem definido. Data Resp.: 03/06/2022 01:02:59 Explicação: Coesão é um conceito para avaliar se as responsabilidades de um módulo estão relacionadas e possuem o mesmo propósito. Assim, coesão alta constitui módulos que tenham um propósito bem definido. TECNOLOGIAS JPA E JEE 9. Ao trabalhar com um aplicativo corporativo, segundo a arquitetura MVC, ocorre uma divisão natural das camadas, em termos dos projetos internos, ficando a camada View sob responsabilidade do projeto com terminador "war". A interface padrão, conforme o próprio terminador indica, é um aplicativo Java Web, sendo comum a implementação de um padrão de desenvolvimento para centralizar o tratamento das requisições, bem como redirecionar para a visualização correta, após efetuar as chamadas para a camada Controller. De qual padrão estamos falando, e qual o componente deve implementá-lo? Padrão de desenvolvimento DAO e componente do tipo JPA Padrão de desenvolvimento Service Locator e componente do tipo JNDI Padrão de desenvolvimento Front Controller e componente do tipo Servlet Padrão de desenvolvimento Flyweight e componente do tipo EJB Padrão de desenvolvimento Facade e componente do tipo EJB Data Resp.: 03/06/2022 01:03:40 Explicação: A resposta correta é: Padrão de desenvolvimento Front Controller e componente do tipo Servlet 10. Mesmo que as novas tecnologias adotem anotações, no lugar de arquivos XML, para efetuar diversas configurações, ainda temos a necessidade de utilizar um arquivo nesse formato, no ambiente do JPA, com a responsabilidade de definir parâmetros globais e a conexão com o banco de dados. Qual o nome do arquivo? readme.txt context.xml web.xml persistence.xml manifest Data Resp.: 03/06/2022 01:04:59 Explicação: A resposta correta é: persistence.xml Não Respondida Não Gravada Gravada Exercício inciado em 03/06/2022 00:55:57. Não Respondida Não Gravada Gravada Exercício inciado em 03/06/2022 00:55:57.
Compartilhar