Baixe o app para aproveitar ainda mais
Prévia do material em texto
Teste de Conhecimento avalie sua aprendizagem 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: Você precisa implementar um módulo que leia um arquivo RTF (Rich Text Format) e converta seu conteúdo em diferentes formatos (ASCII, TeX, HTML etc.). Sabendo que o arquivo é composto por diferentes partes (texto, formatação, figuras etc.), qual dos padrões seria mais indicado para isolar o conversor das diferentes formas de representação do conteúdo gerado? PADRÕES DE PROJETO DE SOFTWARE COM JAVA Lupa Calc. EEX0129_202001398147_TEMAS Aluno: JONATHAN ALLAN DUARTE DOS SANTOS Matr.: 202001398147 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. 1. Builder Singleton Prototype Factory Method Abstract Factory Data Resp.: 26/04/2022 12:09:13 Explicação: A resposta certa é: Factory Method 2. Prototype Abstract Factory Factory Method Singleton Builder Data Resp.: 26/04/2022 12:09:46 Explicação: A resposta certa é: Builder javascript:voltar(); javascript:voltar(); javascript:diminui(); javascript:aumenta(); javascript:calculadora_on(); 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: Implementar um componente para cada fornecedor de um determinado serviço, supondo que possamos ter diferentes fornecedores com APIs proprietárias para esse serviço utilizado pelo nosso sistema, de modo que esse componente converta uma requisição genérica do serviço utilizado pelos módulos clientes do sistema em chamadas específicas da API do fornecedor externo. Essa descrição corresponde à estrutura de solução de qual padrão? Esse padrão define uma estrutura similar à de um esquema Publisher-Subscriber, pois existe um Publisher detentor de um conjunto de informações e registra um conjunto de objetos interessados em receber notificações de modificação desse conjunto de informações, ou seja, do estado do Publisher. Ao ter o seu estado interno modificado, o Publisher notifica os Subscribers que, por sua vez, executam algum procedimento específico de tratamento dessa modificação. Assinale a opção com o padrão correspondente à descrição acima: Você está desenvolvendo um módulo correspondente a uma classe X que possui um ciclo de vida composto por estados e não quer escrever o código dessa classe utilizando estruturas condicionais complexas. Para isso, você separa o processamento de cada parte desse ciclo de vida em uma classe à parte. A classe X apenas guarda a referência para a situação corrente do processamento e repassa as requisições para o objeto correspondente a essa situação corrente. Assinale o padrão a que esse texto se refere: 3. Flyweight Singleton Bridge Decorator Composite Data Resp.: 26/04/2022 12:10:18 Explicação: A resposta certa é: Flyweight 4. Prototype Adapter Flyweight Facade Composite Data Resp.: 26/04/2022 12:10:59 Explicação: A resposta certa é: Adapter 5. Template Method Observer State Visitor Strategy Data Resp.: 26/04/2022 12:11:30 Explicação: Gabarito: Observer 6. Uma classe X contém o seguinte conjunto de métodos: Fechar arquivos Fechar conexão com banco de dados Finalizar tarefas em execução em segundo plano Liberar buffers de armazenamento temporário Finalizar operação, que é um método executado na finalização do sistema e que chama todos os métodos anteriores. Assinale a alternativa com o tipo de coesão da classe X: Assinale a alternativa que descreve uma situação em que a utilização do padrão Especialista de Informação pode comprometer a coesão de um módulo. O ferramental do JPA oferece diversos componentes, com finalidades específicas, no âmbito da persistência de dados, oferecendo um caminho comum para o mapeamento objeto-relacional. Qual componente, oferecido pelo JPA, é responsável pelo manuseio das diversas entidades? Command Chain of Responsibility Mediator State Memento Data Resp.: 26/04/2022 12:12:07 Explicação: Gabarito: State 7. Coesão Sequencial Coesão Funcional Coesão Temporal Coesão Lógica Coesão Coincidente Data Resp.: 26/04/2022 12:13:06 Explicação: Na coesão temporal seus elementos são agrupados por serem executados em um determinado instante do tempo, ou seja, quando todas as operações são executadas na inicialização do sistema. 8. Quando colocamos em uma mesma classe operações de naturezas diferentes como lógica do negócio e acesso a banco de dados, uma vez que eles utilizam as mesmas informações da classe. Quando definimos um objeto intermediário para mediar a comunicação entre objetos remotos. Quando introduzimos uma interface abstrata em substituição a um código centralizado em um módulo com estruturas condicionais do tipo switch-case ou if-then-else. Quando definimos a responsabilidade por criar um objeto para a classe que contém todas as informações necessárias para realizar essa criação. Quando definimos uma classe que fornece uma interface de alto nível para módulos clientes utilizarem para disparar operações do negócio. Data Resp.: 26/04/2022 12:13:25 Explicação: No padrão especialista de informação é atribuída à classe que possua o conhecimento necessário para realizá-la. Assim uma classe X sujeita a duas fontes de mudança fere o princípio fundamental da coesão. 9. Transaction 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? Entity Column EntityManagerFactory EntityManager Data Resp.: 26/04/2022 12:13:50 Explicação: A resposta correta é: EntityManager 10. Padrão de desenvolvimento Front Controller e componente do tipo Servlet Padrão de desenvolvimento DAO e componente do tipo JPA Padrão de desenvolvimento Facade e componente do tipo EJB Padrão de desenvolvimento Flyweight e componente do tipo EJB Padrão de desenvolvimento Service Locator e componente do tipo JNDI Data Resp.: 26/04/2022 12:14:50 Explicação: A resposta correta é: Padrão de desenvolvimento Front Controller e componente do tipo Servlet Não Respondida Não Gravada Gravada Exercício inciado em 26/04/2022 12:08:20.
Compartilhar