Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: PADRÕES DE PROJETO DE SOFTWARE COM JAVA AV NOTA 3 Professor: MAURO CESAR MATIAS Turma: 9001 24/05/2022 00:01:18 (F) Avaliação: 3,0 Av. Parcial.: 2,0 Nota SIA: 3,0 pts O aproveitamento da Avaliação Parcial será considerado apenas para as provas com nota maior ou igual a 4,0. ENSINEME: TECNOLOGIAS JPA E JEE 1. Ref.: 3990965 Pontos: 1,00 / 1,00 Os EJBs do tipo Session Bean podem ser divididos em três perfis, sendo que um deles permite a ocorrência de apenas uma instância por máquina virtual, viabilizando o compartilhamento de dados de forma global, entre todos os aplicativos do servidor. Qual é o perfil do EJB descrito? Entity Message Driven Bean Stateful Stateless Singleton 2. Ref.: 3990966 Pontos: 1,00 / 1,00 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: São definidos pela anotação @Message. Eles podem guardar informações de estado. Tratam as mensagens através de seu único método, denominado onMessage. Necessitam de interfaces @Local e @Remote. Precisam implementar a interface SessionListener. 02683 - PADRÕES GOF COMPORTAMENTAIS javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990965.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%203990966.'); 3. Ref.: 6068988 Pontos: 0,00 / 1,00 Seja um sistema que utilize expressões matemáticas definidas pelo usuário para possibilitar a parametrização de cálculos. Existe uma gramática que define as regras de formação dessas expressões. Você precisa transformar expressões textuais expressas nessa gramática em uma árvore de sintaxe abstrata, que será o ponto de partida para o processamento dessas expressões. Assinale a alternativa com o nome do padrão que oferece uma solução para a transformação dessas expressões textuais em uma árvore de sintaxe abstrata: Memento Interpreter State Iterator Strategy 4. Ref.: 6068804 Pontos: 0,00 / 1,00 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. Visitor Strategy Observer State Template Method 02684 - PADRÕES GOF DE CRIAÇÃO 5. Ref.: 6041112 Pontos: 0,00 / 1,00 Reduzir a necessidade de criar hierarquias paralelas de classes ou de criar subclasses apenas para instanciar objetos específicos é um dos efeitos obtidos com a aplicação de qual padrão? Factory Method Builder Prototype Abstract Factory Singleton javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206068988.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206068804.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206041112.'); 6. Ref.: 6041109 Pontos: 0,00 / 1,00 Sobre o padrão Abstract Factory, assinale a alternativa correta: Sua implementação pode envolver a aplicação do padrão Factory Method. Seu propósito é abstrair o processo de construção de um objeto complexo formado por vários passos. O construtor de cada fábrica deve ser definido como private. Sua implementação requer a definição de uma operação chamada clone em cada fábrica concreta. Uma fábrica pode criar apenas um tipo de produto. 02685 - PADRÕES GOF ESTRUTURAIS 7. Ref.: 6041088 Pontos: 0,00 / 1,00 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? Facade Proxy Adapter Composite Flyweight 8. Ref.: 6041290 Pontos: 0,00 / 1,00 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: Adapter Flyweight Composite Decorator Bridge javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206041109.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206041088.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206041290.'); 02686 - PADRÕES GRASP 9. Ref.: 6076807 Pontos: 1,00 / 1,00 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. Memento. Controlador. Indireção. Especialista na Informação. Fábrica. 10. Ref.: 6076570 Pontos: 0,00 / 1,00 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) { case LIGAR: // executa procedimento para ligar a lâmpada break; case DESLIGAR: // executa procedimento para ligar a lâmpada break; } } public class Exemplo { javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206076807.'); javascript:alert('C%C3%B3digo%20da%20quest%C3%A3o:%206076570.'); public static void main(String [] args) { Lampada lampada = new Lampada(); Lampada.realizarOperacao(Lampada.LIGAR); } } Acoplamento Funcional. Acoplamento de Estrutura. Acoplamento Externo. Acoplamento Global. Acoplamento de Controle.
Compartilhar