Prévia do material em texto
1a Questão (Ref.: 202007073719) Analise o propósito a seguir: ''Permitir que um único processo de construção possa ser utilizado para construir diferentes representações de um objeto complexo ao implementar a representação do objeto e o processo da sua construção em classes separadas''. Assinale a alternativa com o nome do padrão que possui esse propósito: Factory Method Abstract Factory Builder Prototype Singleton 2a Questão (Ref.: 202007073549) Você deseja criar um objeto complexo formado por diferentes partes. Para isso, você define uma interface abstrata responsável com operações representando a criação dessas partes, permitindo que as implementações concretas dessa interface criem diferentes representações dessas partes. Qual padrão de projeto você utilizaria nessa situação? Singleton Prototype Builder Abstract Factory Factory Method 3a Questão (Ref.: 202007073609) Serve como alternativa à utilização de subclasses na atribuição de responsabilidades, provendo uma forma mais flexível e dinâmica, por meio da superposição de objetos em que o objeto mais externo adiciona funcionalidades às operações do objeto mais interno. Assinale a alternativa com o nome do padrão que possui esse propósito: Proxy Bridge Decorator Composite Facade 4a Questão (Ref.: 202007073611) Um colega seu de trabalho está implementando a interface com o usuário de um sistema que dispara a execução de uma lógica de negócio envolvendo vários objetos. Ele implementa uma primeira versão que faz diversas chamadas a objetos da lógica de negócio porque não existe uma interface de mais alto nível disponível que encapsule esta complexidade. Para piorar, ao implementar um segundo módulo de interface com o usuário, ele se depara com o mesmo problema, tendo que copiar e colar partes da lógica utilizadas no primeiro módulo de interface com o usuário. Ao revisar o código feito pelo seu colega, qual padrão você recomendaria que ele utilizasse para diminuir o acoplamento entre os módulos de interface com o usuário e módulos referentes à lógica de negócio? Composite Flyweight Facade Proxy Adapter javascript:alert('C%C3%B3digo da quest%C3%A3o: 6041196\n\nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6041026\n\nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6041086\n\nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6041088\n\nStatus da quest%C3%A3o: Liberada para Uso.'); 5a Questão (Ref.: 202007101429) O padrão Command pode ser utilizado para implementar situações nas quais precisamos desfazer ou refazer as ações realizadas em resposta a um comando do usuário, dando origem a operações conhecidas pelos nomes de undo e redo, respectivamente. Outro padrão pode ser aplicado conjuntamente nessa situação, para permitir salvar o estado anterior ao da execução de cada ação, de modo a possibilitar a sua restauração na execução de uma operação undo. Que padrão é esse? Observer State Memento Command Visitor 6a Questão (Ref.: 202007101424) Seja uma expressão matemática representada por uma árvore semântica abstrata, a partir da qual você pode implementar diversas operações como, por exemplo, o cálculo do valor da expressão, a verificação sintática e semântica dessa expressão ou a geração da expressão em notação polonesa. Cada nó da árvore corresponde a um elemento da expressão: número, variável, operadores (soma, subtração, multiplicação, divisão), entre outros. Em vez de definir em cada nó várias operações ligadas às diversas finalidades, esse padrão sugere que o processamento dos nós para cada finalidade (cálculo do valor, verificação sintática etc.) seja concentrado em uma classe que implementa um método para cada tipo de nó (ex.: número, variável, operadores etc.), sendo que esses métodos recebem como parâmetro o objeto correspondente ao nó a ser processado. Assinale a alternativa com o nome do padrão que possui as características descritas no enunciado: Mediator Visitor Template Method State Observer 7a Questão (Ref.: 202007109330) Assinale a alternativa com o nome do padrão GRASP que recomenda que uma responsabilidade seja atribuída à classe que possua o conhecimento necessário para realizá-la, evitando, assim, a definição de classes de negócio somente com operações de acesso, isto é, operações get/set dos seus atributos. Fábrica. Especialista na Informação. Indireção. Controlador. Memento. 8a Questão (Ref.: 202007109093) Veja o código a seguir e assinale a alternativa com o tipo de acoplamento existente entre a classe Exemplo e a classe Lâmpada. public class Lampada { public static final int LIGAR = 1; public static final int DESLIGAR = 0; public realizarOperacao(int codigo) { switch(codigo) { javascript:alert('C%C3%B3digo da quest%C3%A3o: 6068906\n\nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6068901\n\nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6076807\n\nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6076570\n\nStatus da quest%C3%A3o: Liberada para Uso.'); case LIGAR: // executa procedimento para ligar a lâmpada break; case DESLIGAR: // executa procedimento para ligar a lâmpada break; } } public class Exemplo { public static void main(String [] args) { Lampada lampada = new Lampada(); Lampada.realizarOperacao(Lampada.LIGAR); } } Acoplamento de Controle. Acoplamento Funcional. Acoplamento Global. Acoplamento de Estrutura. Acoplamento Externo. 9a Questão (Ref.: 202005023483) 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: É o mecanismo padrão de ORM do Java. Com a adoção do JPA eliminamos a necessidade do JDBC. Precisa de um arquivo de configuração denominado persistence.xml. Permite mapear os relacionamentos da base de dados. Trabalha com código anotado Java. 10a Questão (Ref.: 202005023489) 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: Precisam implementar a interface SessionListener. Necessitam de interfaces @Local e @Remote. Tratam as mensagens através de seu único método, denominado onMessage. São definidos pela anotação @Message. Eles podem guardar informações de estado. javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990960\n\nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 3990966\n\nStatus da quest%C3%A3o: Liberada para Uso.');