Prévia do material em texto
Disciplina: EEX0129 - PADRÕES DE PROJETOS COM JAVA NOTA 10 AV2 Prezado(a) Aluno(a), Responda a todas as questões com atenção. Somente clique no botão FINALIZAR PROVA ao ter certeza de que respondeu a todas as questões e que não precisará mais alterá-las. Para questões de múltipla escolha, marque a única opção correta. Valor da prova: 10 pontos. 1 ponto 1. Analise a estratégia de solução a seguir: ''Definir uma hierarquia de classes responsáveis pela instanciação de uma hierarquia paralela de classes produtos, em que cada classe concreta é capaz de instanciar um produto específico de cada tipo definido em uma família de produtos''. Assinale a alternativa com o nome do padrão que define essa estratégia: (Ref.: 202010377030) Builder Singleton Factory Method Abstract Factory Prototype 1 ponto 2. Os iteradores de coleção em Java obtidos a partir da interface Collection são implementados com a aplicação de qual padrão de projeto? (Ref.: 202010376739) Prototype Builder Factory Method Abstract Factory Singleton 1 ponto 3. O RMI (Remote Method Invocation) é uma interface de programação que permite a execução de chamadas remotas no estilo RPC (Remote Procedure Call) em aplicações desenvolvidas em Java. Qual padrão de projeto você imagina encontrar na implementação do RMI? (Ref.: 202010376885) Decorator Composite Proxy Flyweight Facade 1 ponto 4. Defina uma estrutura que permita a construção de um objeto externo sobre um objeto mais interno (recebido no seu construtor) de forma sucessiva, de modo que os objetos mais externos possam adicionar funcionalidades ao objeto mais interno sem a necessidade de utilizar subclasses. Todos os objetos da cadeia de composição compartilham uma interface comum. Assinale a alternativa com o nome do padrão que define essa estrutura de solução: (Ref.: 202010377000) Bridge Composite Decorator Flyweight Adapter 1 ponto 5. Na implementação desse padrão, cada objeto de uma estrutura hierárquica deve definir uma operação Accept, que recebe um objeto de uma classe X como parâmetro. A classe X, por sua vez, implementa uma interface genérica Z, definindo uma operação específica de tratamento para cada tipo de objeto que pertença à estrutura hierárquica. Assinale a opção com o nome do padrão cuja estrutura de solução foi descrita no enunciado. (Ref.: 202010404514) Strategy Observer Template Method Visitor State 1 ponto 6. Suponha que existam diferentes algoritmos para resolver um problema, sendo que cada algoritmo se aplica melhor a um contexto específico (ex: volume maior ou menor de dados, frequência de modificações e de consultas). Esse padrão sugere resolver o problema encapsulando cada algoritmo em uma classe distinta, que implementa uma interface padrão utilizada pelos módulos clientes desses algoritmos. Assinale a alternativa com o nome do padrão que possui o propósito descrito no enunciado: (Ref.: 202010404609) Command Mediator Strategy Chain of Responsibility Memento 1 ponto 7. Assinale a alternativa com a afirmação CORRETA sobre o padrão Controlador. (Ref.: 202010412283) Em uma aplicação Java web, o módulo controlador pode ser implementado como um servlet. O padrão Controlador proposto pelo GRASP equivale ao padrão GoF Strategy. O módulo Controlador centraliza o código relacionado à lógica de negócio do sistema ou de um caso de uso. O módulo Controlador coordena e controla os módulos responsáveis pela produção da resposta a eventos lógicos de sistema gerados pela camada de interface com o usuário. O módulo Controlador centraliza a interação do usuário com o sistema, capturando os eventos externos e controlando o fluxo de navegação das telas e janelas do sistema. 1 ponto 8. O padrão GoF Proxy consiste em colocarmos entre dois objetos remotos um elemento intermediário que capture a requisição do objeto cliente e a encaminhe pela rede até o objeto destino. Dessa forma, o objeto cliente pode fazer chamadas de operações do objeto destino como se eles estivessem rodando localmente. Qual padrão GRASP está mais diretamente relacionado à solução proposta pelo padrão GoF Proxy? (Ref.: 202010412435) Indireção. Criador. Especialista na Informação. Polimorfismo. Controlador. 1 ponto 9. A arquitetura oferecida pelo JPA modificou a forma do Java lidar com os dados, e o conhecimento acerca de suas características é fundamental para todo programador que utilize a plataforma. Assinale a alternativa INCORRETA acerca do JPA: (Ref.: 202008326670) Permite mapear os relacionamentos da base de dados. É o mecanismo padrão de ORM do Java. Com a adoção do JPA eliminamos a necessidade do JDBC. Trabalha com código anotado Java. Precisa de um arquivo de configuração denominado persistence.xml. 1 ponto 10. As mensagerias são um ferramental de ampla utilização em ambientes corporativos, e entre os diferentes tipos de EJBs, os MDBs são os componentes responsáveis pelo comportamento assíncrono do sistema, baseado na utilização de mensagerias. Assinale a alternativa correta com relação aos Message Driven Benas, ou MDBs: (Ref.: 202008326676) São definidos pela anotação @Message. Necessitam de interfaces @Local e @Remote. Tratam as mensagens através de seu único método, denominado onMessage. Precisam implementar a interface SessionListener. Eles podem guardar informações de estado.