Prévia do material em texto
Simulado AV Teste seu conhecimento acumulado Disc.: PADRÕES DE PROJETO DE SOFTWARE COM JAVA Acertos: 10,0 de 10,0 19/04/2022 1a Questão Acerto: 1,0 / 1,0 Sobre o padrão Factory Method, assinale a alternativa correta: Esse padrão não é utilizado na implementação de frameworks. Sua implementação visa evitar a criação de variáveis globais. Sua implementação envolve a aplicação do conceito de polimorfismo. Seu propósito é permitir a criação de uma fábrica por meio da cópia de um objeto existente. Cada classe pode implementar no máximo um factory method. Respondido em 19/04/2022 17:06:09 Explicação: A resposta certa é: Sua implementação envolve a aplicação do conceito de polimorfismo. 2a Questão Acerto: 1,0 / 1,0 Analise o propósito a seguir: ''Garantir que uma classe somente tenha uma instância em um processo de execução, fornecendo uma forma de acesso a essa única instância e impedindo que outros módulos possam ter acesso a seu construtor ''. Assinale a alternativa com o nome do padrão que possui esse propósito: Prototype Singleton Factory Method Builder Abstract Factory Respondido em 19/04/2022 17:11:10 Explicação: A resposta certa é: Singleton 3a Questão Acerto: 1,0 / 1,0 Sobre o padrão Composite, assinale a alternativa correta: Esse padrão permite manipular agregados e seus elementos com uma interface uniforme, isto é, com as mesmas operações. Esse padrão é orientado para construção e manipulação de grafos cíclicos de objetos. Esse padrão é apropriado para situações em que operações sobre o todo não devam ser aplicadas de forma recursiva às suas partes. Esse padrão é utilizado na composição de adaptadores para serviços implementados por componentes de terceiros. O conceito de polimorfismo não está presente na solução proposta pelo padrão. Respondido em 19/04/2022 17:08:56 Explicação: A resposta certa é: Esse padrão permite manipular agregados e seus elementos com uma interface uniforme, isto é, com as mesmas operações. 4a Questão Acerto: 1,0 / 1,0 Conseguir adicionar um novo fornecedor externo de um serviço já utilizado por um sistema, apenas adicionando um módulo que seja capaz de converter uma requisição de uma interface conhecida pelo sistema para a interface proprietária fornecida pelo componente externo é um dos efeitos obtidos com a aplicação de qual padrão? Bridge Flyweight Proxy Facade Adapter Respondido em 19/04/2022 17:11:33 Explicação: A resposta certa é: Adapter 5a Questão Acerto: 1,0 / 1,0 Sobre o padrão Mediator, assinale a alternativa correta: Pode ser aplicado em conjunto com o padrão Observer. 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. Faz a mediação da execução de um conjunto de algoritmos paralelos, de forma que não haja problemas de sincronização. Transforma uma interação entre objetos de uma estrutura 1-N para uma estrutura N-N. Respondido em 19/04/2022 17:09:19 Explicação: Gabarito: Pode ser aplicado em conjunto com o padrão Observer. 6a Questão Acerto: 1,0 / 1,0 Assinale a alternativa que expressa a intenção do padrão de projeto Template Method: Definir uma relação de dependência entre objetos, de modo a garantir que modificações no estado do objeto detentor da informação sejam notificadas automaticamente para os objetos inscritos previamente como interessados em receber essas notificações. Encapsular uma família de algoritmos em objetos, permitindo que os módulos clientes possam utilizar esses algoritmos de forma intercambiável. Permite capturar o estado interno de um objeto, permitindo que o seu estado seja restaurado posteriormente, sem quebrar o encapsulamento desse objeto. Encapsular uma requisição em um objeto, permitindo o registro do histórico de requisições disparadas pelos módulos cliente e a criação de filas de requisições. Implementar a estrutura de um algoritmo genérico em uma superclasse, considerando que os passos comuns são implementados na própria superclasse, enquanto os passos específicos são implementados nas suas subclasses. Respondido em 19/04/2022 17:12:24 Explicação: Gabarito: Implementar a estrutura de um algoritmo genérico em uma superclasse, considerando que os passos comuns são implementados na própria superclasse, enquanto os passos específicos são implementados nas suas subclasses. 7a Questão Acerto: 1,0 / 1,0 Um módulo A contém operações como conversão de medidas, formatação de valores monetários, remoção de espaços duplicados em strings e envio/recepção de arquivos FTP. O módulo A possui coesão: Coincidente. Sequencial. Temporal. Funcional. Procedural. Respondido em 19/04/2022 17:17:26 Explicação: A coesão coincidente se caracteriza em um módulo quando os elementos estão agrupados de forma arbitrária ou por conveniência. 8a Questão Acerto: 1,0 / 1,0 Assinale a alternativa com uma afirmativa CORRETA sobre o padrão GRASP Variações Protegidas. O padrão Variações Protegidas sugere identificar pontos do sistema propensos a variações e isolá-los com a criação de interfaces no seu entorno. O padrão Variações Protegidas sugere proteger o sistema de variações por meio de parâmetros definidos em uma classe com acesso global. O padrão Variações Protegidas sugere proteger as variações de algoritmos sensíveis por meio do uso de recursos de criptografia. O padrão Variações Protegidas sugere proteger o sistema de variações concentrando a lógica dessas variações em um módulo controlador. O padrão Variações Protegidas sugere identificar pontos do sistema propensos a variações e isolá-los em um módulo com coesão lógica. Respondido em 19/04/2022 17:15:51 Explicação: O arquiteto ou desenvolvedor de software tem como desafio identificar e proteger os pontos de variação de um software. O padrão Variações Protegida aplica conceitos básicos de orientação a objetos como encapsulamento, interfaces e polimorfismo de modo a identificar pontos do sistema propensos a variações e isolá-los. 9a Questão Acerto: 1,0 / 1,0 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 Flyweight e componente do tipo EJB Padrão de desenvolvimento Front Controller e componente do tipo Servlet Padrão de desenvolvimento Facade e componente do tipo EJB Padrão de desenvolvimento DAO e componente do tipo JPA Padrão de desenvolvimento Service Locator e componente do tipo JNDI Respondido em 19/04/2022 17:07:21 Explicação: A resposta correta é: Padrão de desenvolvimento Front Controller e componente do tipo Servlet 10a Questão Acerto: 1,0 / 1,0 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 ambientedo JPA, com a responsabilidade de definir parâmetros globais e a conexão com o banco de dados. Qual o nome do arquivo? web.xml context.xml readme.txt persistence.xml manifest Respondido em 19/04/2022 17:14:39 Explicação: A resposta correta é: persistence.xml