Buscar

Padrões de Projeto de Software Com Java


Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Continue navegando


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.');