Logo Passei Direto
Buscar

teste de conhecimento PADRÕES DE PROJETO DE SOFTWARE COM JAVA

Exercício de conhecimento sobre padrões de projeto de software com Java (opcional, múltipla escolha). Inclui questões com gabarito comentado sobre propósitos e aplicações dos padrões Abstract Factory, Factory Method, Flyweight, Composite, Memento, Observer e tópicos de GRASP.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

PADRÕES DE PROJETO DE SOFTWARE COM JAVA 
 
Lupa Calc. 
 
 
 
 
 
 
 
 
Disc.: PADRÕES DE PROJ 2022.1 EAD (GT) / EX 
 
 
Prezado (a) Aluno(a), 
 
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não 
valerá ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha. 
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. 
Aproveite para se familiarizar com este modelo de questões que será usado na sua AV e AVS. 
 
 
 
 
 
1. 
 
 
Analise o propósito a seguir: 
''Permitir a criação de uma família de objetos relacionados ou 
dependentes, de forma que o módulo cliente não precise conhecer 
os objetos específicos das diferentes famílias, lidando apenas com 
as interfaces genéricas dos produtos dessas famílias''. 
Assinale a alternativa com o nome do padrão que possui esse 
propósito: 
 
 
Builder 
 
 
Singleton 
 
 
Abstract Factory 
 
 
Factory Method 
 
 
Prototype 
 
 
Explicação: 
A resposta certa é: Abstract Factory 
 
 
 
 
 
2. 
 
 
Analise o propósito a seguir: 
''Implementar a instanciação de objetos utilizando uma estrutura 
de herança, em que a superclasse define uma operação de criação 
de um produto genérico, e cada subclasse define a implementação 
dessa operação, criando um produto específico derivado do 
produto genérico definido na superclasse''. 
Assinale a alternativa com o nome do padrão que possui esse 
propósito: 
 
 
Prototype 
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
javascript:diminui();
javascript:aumenta();
javascript:calculadora_on();
 
 
Singleton 
 
 
Abstract Factory 
 
 
Factory Method 
 
 
Builder 
 
 
Explicação: 
A resposta certa é: Factory Method 
 
 
 
 
 
3. 
 
 
Você está desenvolvendo um sistema e percebe que está 
instanciando uma grande quantidade de objetos cujos atributos 
não mudam de valor durante toda a execução do programa. 
Muitos desses objetos instanciados são réplicas, o que gera uma 
utilização muito ineficiente da memória. Assinale a alternativa com 
o nome do padrão que poderia ser aplicado nesse cenário: 
 
 
Decorator 
 
 
Bridge 
 
 
Composite 
 
 
Flyweight 
 
 
Singleton 
 
 
Explicação: 
A resposta certa é: Flyweight 
 
 
 
 
 
4. 
 
 
Possibilitar a manipulação de objetos individuais e de agregados 
de uma estrutura hierárquica (árvore) de objetos por meio do 
mesmo conjunto de operações, sem que o módulo cliente precise 
fazer a distinção entre o tipo do objeto manipulado (individual ou 
agregado). Assinale a alternativa com o nome do padrão que 
possui esse propósito: 
 
 
Adapter 
 
 
Composite 
 
 
Flyweight 
 
 
Proxy 
 
 
Bridge 
 
 
Explicação: 
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
A resposta certa é: Composite 
 
 
 
 
 
5. 
 
 
Você está desenvolvendo um sistema que produz informações 
guardadas em um ou mais objetos que só devem ser 
armazenados em um banco de dados após o processamento ser 
concluído. Entretanto, esses dados estão vinculados a uma sessão 
de usuário, que pode ser interrompida em função de problemas de 
conexão. Esse padrão oferece uma solução que permite que um 
objeto A capture e salve todo o estado de um objeto B da sessão, 
sem que A tenha que quebrar o encapsulamento de B, tornando 
possível a restauração do estado do objeto B, a partir de um 
estado capturado anteriormente por A. 
Assinale a alternativa com o nome do padrão que corresponde a 
essa estratégia de solução: 
 
 
Command 
 
 
Observer 
 
 
Mediator 
 
 
Memento 
 
 
Strategy 
 
 
Explicação: 
Gabarito: Memento 
 
 
 
 
 
6. 
 
 
Você está desenvolvendo um sistema para acompanhar as 
cotações da bolsa de valores. As cotações podem ser 
acompanhadas na interface com usuário na forma textual (ticker 
da ação e o seu valor) e na forma de um gráfico de candlesticks, 
apresentando o histórico das cotações em um período do tempo. 
As duas formas de visualização devem estar em sincronia com as 
variações que ocorrem com o valor da cotação das ações. 
Assinale a alternativa com o nome do padrão que pode ser 
aplicado para resolver esse problema de sincronização de 
visualizações de um conjunto de informações com a sua fonte. 
 
 
Iterator 
 
 
State 
 
 
Strategy 
 
 
Mediator 
 
 
Observer 
 
 
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
Explicação: 
Gabarito: Observer 
 
 
 
 
 
7. 
 
 
"Ao invés de colocarmos o cálculo do frete de um pedido na classe 
Pedido, optamos por criar uma hierarquia de classes para 
encapsular os diferentes algoritmos de cálculo de frete que temos 
no sistema". 
Assinale a alternativa com o nome do padrão GRASP que 
recomenda a criação de classes que não representam diretamente 
elementos concretos encontrados no domínio no negócio, 
seguindo uma decomposição de responsabilidades por 
comportamento e não por representação, como a descrita no 
cálculo do frete. 
 
 
Especialista na Informação. 
 
 
Indireção. 
 
 
Acoplamento Baixo. 
 
 
Polimorfismo. 
 
 
Invenção Pura. 
 
 
Explicação: 
O padrão Invenção Pura tem como finalidade criar classes artificiais, ou seja, classes que não 
representam um conceito do domínio do problema. 
 
 
 
 
 
8. 
 
 
Assinale a alternativa com uma afirmativa CORRETA sobre o 
padrão GRASP Variações Protegidas. 
 
 
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 com a criação de interfaces no seu entorno. 
 
 
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 identificar pontos do sistema propensos a variações e 
isolá-los em um módulo com coesão lógica. 
 
 
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. 
 
 
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. 
 
 
 
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
 
 
9. 
 
 
O ferramental do JPA oferece diversos 
componentes, com finalidades específicas, no 
âmbito da persistência de dados, oferecendo 
um caminho comum para o mapeamento 
objeto-relacional. Qual componente, oferecido 
pelo JPA, é responsável pelo manuseio das 
diversas entidades? 
 
 
Transaction 
 
 
Entity 
 
 
Column 
 
 
EntityManagerFactory 
 
 
EntityManager 
 
 
Explicação: 
A resposta correta é: EntityManager 
 
 
 
 
 
10. 
 
 
Ao trabalhar com um aplicativo corporativo, 
segundo a arquitetura MVC, as 
camadas Model e Controller são definidas ao 
nível do projeto interno com o terminador 
"ejb", e o NetBeans oferece ferramentas de 
automatização para a geração dos 
componentes necessários, com utilização de 
duas tecnologias específicas. Quais são as 
tecnologias utilizadas para as duas camadas 
citadas, respectivamente? 
 
 
JPA e JSP 
 
 
Servlet e JPA 
 
 
EJB e Servlet 
 
 
JSP e Servlet 
 
 
JPA e EJB 
 
 
Explicação: 
A resposta correta é: JPA e EJB 
 
 
 
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp
https://simulado.estacio.br/bdq_simulados_exercicio_ensineme.asp