Baixe o app para aproveitar ainda mais
Prévia do material em texto
PADRÕES DE PROJETOS DE SOFTWARE COM JAVA Lupa DGT1354_202002074591_TEMAS Aluno: MESSIAS VIE Matr.: 20291 Disc.: PADRÕES DE PROJETOS 2023) / 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: ''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: Factory Method Builder Abstract Factory Prototype Singleton Data Resp.: 02/06/2023 19:44:33 Explicação: A resposta certa é: Factory Method 2. A classe java.awt.Toolkit é um exemplo da aplicação de que padrão de projeto? Abstract Factory Prototype Builder Factory Method Singleton Data Resp.: 02/06/2023 19:44:36 Explicação: A resposta certa é: Abstract Factory 02685PADRÕES GOF ESTRUTURAIS 3. 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? Flyweight Adapter Composite Proxy Facade Data Resp.: 02/06/2023 19:44:39 Explicação: A resposta certa é: Composite 4. 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? Composite Prototype Adapter Flyweight Facade Data Resp.: 02/06/2023 19:44:42 Explicação: A resposta certa é: Adapter 02683PADRÕES GOF COMPORTAMENTAIS 5. Sobre o padrão Mediator, assinale a alternativa correta: Faz a mediação da execução de um conjunto de algoritmos paralelos, de forma que não haja problemas de sincronização. Pode ser aplicado em conjunto com o padrão Observer. Transforma uma interação entre objetos de uma estrutura 1-N para uma estrutura N-N. Encapsula requisições em objetos, mediando o registro do histórico das requisições e o gerenciamento de uma fila de requisições. Permite definir um conjunto de passos em uma superclasse, sendo os passos comuns implementados como métodos dessa superclasse, enquanto os passos específicos são implementados nas suas subclasses. Data Resp.: 02/06/2023 19:44:45 Explicação: Gabarito: Pode ser aplicado em conjunto com o padrão Observer. 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. Observer Strategy Mediator Iterator State Data Resp.: 02/06/2023 19:44:48 Explicação: Gabarito: Observer 02686PADRÕES GRASP 7. Em um sistema de informação, o desenvolvedor decide colocar em um módulo X todas as operações necessárias para a execução de um caso de uso. Esse módulo não distribui a responsabilidade com outras classes do sistema. Ele apenas utiliza classes de domínio e suas operações get/set para obter ou modificar dados presentes em objetos dessas classes. O resultado é um módulo conhecido como ''God Class'', ou seja, uma classe com muitas operações, com milhares de linhas de código. Qual tipo de coesão está presente no módulo X conforme a descrição acima? Coincidente Lógica Temporal Funcional Procedural Data Resp.: 02/06/2023 19:44:51 Explicação: Na coesão procedural os elementos são agrupados de modo a serem executados em uma determinada sequência, utilizando diferentes conjuntos 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 baixa é aquele que possui um propósito bem definido. 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 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. Data Resp.: 02/06/2023 19:45:02 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, as camadas Model e Controller são definidas ao nível do projeto interno com o terminador "ejb", e o NetBeans oferece ferramentas de automatização para a geração dos componentes necessários, com utilização de duas tecnologias específicas. Quais são as tecnologias utilizadas para as duas camadas citadas, respectivamente? JPA e JSP Servlet e JPA EJB e Servlet JSP e Servlet JPA e EJB Data Resp.: 02/06/2023 19:44:55 Explicação: A resposta correta é: JPA e EJB 10. 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 Front Controller e componente do tipo Servlet Padrão de desenvolvimento Service Locator e componente do tipo JNDI Padrão de desenvolvimento DAO e componente do tipo JPA Padrão de desenvolvimento Flyweight e componente do tipo EJB Padrão de desenvolvimento Facade e componente do tipo EJB Data Resp.: 02/06/2023 19:44:58 Explicação: A resposta correta é: Padrão de desenvolvimento Front Controller e componente do tipo Servlet
Compartilhar