Buscar

PADRÕES DE PROJETO DE SOFTWARE 6

Prévia do material em texto

PADRÕES DE PROJETO DE SOFTWARE 
6a aula 
Lupa 
 
 
 
 
 
 
 
 
 
 
1 
 Questão 
 
 
Definir um objeto que encapsula a forma como um conjunto de objetos interagem. Promove o baixo 
acoplamento ao evitar que os objetos se refiram uns aos outros diretamente/explicitamente. 
Qual opção abaixo corresponde à descrição anterior? 
 
 
Intenção do padrão de projeto prototype 
 
Intenção do padrão de projeto proxy 
 Intenção do padrão de projeto mediator 
 
Intenção do padrão de projeto composite 
 
Intenção do padrão de projeto strategy 
Respondido em 26/10/2020 15:16:18 
 
 
Explicação: 
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, 
Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template 
Method e Visitor. 
São projetados para organizar, gerenciar e combinar diferentes comportamentos. 
O objetivo dos Comportamentais têm a ver com a maneira pela qual 
responsabilidades são distribuídas a classes e objetos durante a realização de uma 
tarefa. São abstrações de aspectos comportamentais. 
O padrão Mediator é um padrão define um objeto que encapsula a forma como 
um conjunto de objetos interage, promovendo o acoplamento fraco ao evitar que 
os objetos se refiram uns aos outros explicitamente, permitindo variar suas 
interações independentemente. 
 
 
 
2 
 Questão 
 
 
A implementação do padrão Memento é bastante simples. Normalmente é criada uma classe privada chamada 
Memento (ou outro nome com funcionalidades similar) dentro da classe que se pretende salvar o estado. A 
javascript:diminui();
javascript:aumenta();
classe Memento deve ser instanciada com os atributos que se pretende salvar, fornecendo para tanto ---------
--------------- Marque dentre as opções abaixo aquela que complementa a lacuna acima de forma correta. 
 
 um construtor público para este fim. 
 
Utilizar um outro padrão comportamental que complemente o objetivo. 
 
Utilizar uma classe associativa para o fim desejado. 
 
um construtor privado para este fim. 
 
Uma classe com método publico para este fim; 
Respondido em 26/10/2020 15:24:50 
 
 
Gabarito 
Comentado 
 
 
 
 
 
3 
 Questão 
 
 
Existe um padrão de projeto que é bastante utilizado em programação de sistema para gerenciar a 
comunicação entre dois ou mais objetos. Ele pode ser visto como uma classe intermediária de comunicação e 
gerenciamento, evitando que os objetos se comuniquem de forma direta. Dentre as opções abaixo assinale 
aquela que está correta para a colocação acima. 
 
 
Padrão Memento 
 
Command; 
 
Padrão Interator; 
 
Padrão Proxy; 
 Padrão Mediator; 
Respondido em 26/10/2020 15:22:34 
 
 
 
4 
 Questão 
 
 
O padrão de projeto Comand apresenta uma serie aplicabilidades. Assinale dentre as opções abaixo a unica 
que não esta correta. permitir fácil inclusão de novos comandos,permitir isições concorrentes, manter 
histórico de execução de comandos, suportar operações para desfazer comandos e, principalmente, evitar o 
acoplamento direto entre classes e serviços. permitir tratamento de requ 
 
 
Evitar o acoplamento direto entre classes e serviços; 
 Permitir em casos excepcionais o acoplamento direto entre classes e serviços; 
 
Manter histórico de execução de comandos; 
 
permitir fácil inclusão de novos comandos 
 
permitir tratamento de requisições concorrentes; 
Respondido em 26/10/2020 15:23:08 
 
 
 
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4249904433&cod_hist_prova=211253799&pag_voltar=otacka
https://simulado.estacio.br/bdq_simulados_exercicio_preview.asp?cod_prova=4249904433&cod_hist_prova=211253799&pag_voltar=otacka
5 
 Questão 
 
 
A definição ¿ Captar e externalizar um estado interno de um objeto, de maneira que esse estado seja 
restaurado ao objeto em outro momento, sem violar seu encapsulamento (Gamma et al., 2000).¿ Refre-se a 
que padrão de projeto: 
 
 
Builder. 
 
Command 
 Memento 
 
Iterator 
 
Mediator 
Respondido em 26/10/2020 15:23:21 
 
 
Explicação: 
Memento é um padrão comportamental, assim como os seguintes padrões: command, iterator, mediator. 
O padrão Memento tem como objetivo criar um meio de armazenar informações sobre um objeto, permitindo acessar essas 
informações tanto para salvar o estado de um objeto específico, como para recuperar, sempre que for necessário. 
 
 
 
6 
 Questão 
 
 
Iterator :Fornecer uma maneira de acessar seqüencialmente os elementos de um objeto agregado sem expor 
sua implementação. (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza: 
 
 
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais 
objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas. 
 
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais 
objetos 
 
Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de 
comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta 
 Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de 
implementação. 
 
tem uma grande facilidade de mudança de comportamento, pode-se alterar seu funcionamento sem 
que seja necessário nenhuma mudança nas demais classes envolvidas, desde que envolvam coleções 
e matrizes. 
Respondido em 26/10/2020 15:26:13 
 
 
Explicação: 
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões Comportamentais: 
O objetivo dos Padrões Comportamentais têm a ver com a maneira pela qual responsabilidades são 
distribuídas a classes e objetos durante a realização de uma tarefa. São abstrações de aspectos 
comportamentais. 
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, 
Memento, Observer, State, Strategy, Template Method e Visitor. 
O padrão Iterator por definição "Prove uma maneira de acessar os elementos de um objeto agregado 
sequencialmente sem expor sua representação interna.". 
 
 
 
7 
 Questão 
 
 
Qual padrão usar para fornecer um meio de acessar sequencialmente os elementos de um objeto agregado 
sem expor a sua representação subjacente? 
 
 
Chain of Responsability. 
 
Visitor. 
 
Mediator. 
 
Nenhuma das anteriores. 
 Iterator. 
Respondido em 26/10/2020 15:23:49 
 
 
Explicação: 
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, 
Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template 
Method e Visitor. 
São projetados para organizar, gerenciar e combinar diferentes comportamentos. 
O objetivo dos Comportamentais têm a ver com a maneira pela qual 
responsabilidades são distribuídas a classes e objetos durante a realização de uma 
tarefa. São abstrações de aspectos comportamentais. 
O padrão Iterator por definição "Prove uma maneira de acessar os elementos de 
um objeto agregado sequencialmente sem expor sua representação interna.". 
 
 
 
8 
 Questão 
 
 
Quando encapsulamos requisições de usuários na forma de objetos estamos utilizando o padrão de projeto: 
 
 
Chain of Responsability 
 
State 
 
Façade 
 Command 
 
Strategy 
Respondido em 26/10/2020 15:25:25 
 
 
Explicação: 
Há 11 Padrões Comportamentais GoF: Chain of Responsability, Command, 
Interpreter, Iterator, Mediator, Memento, Observer, State, Strategy, Template 
Method e Visitor. 
São projetados para organizar, gerenciar e combinar diferentes comportamentos. 
O objetivo dos Comportamentais têm a ver com a maneira pela qual 
responsabilidades são distribuídas a classes e objetos durante a realização de uma 
tarefa. São abstrações de aspectos comportamentais. 
O padrão Command encapsula uma solicitação como um objeto, permitindo a 
parametrização de clientes com diferentes solicitações, o enfileiramento e o 
registro desolicitações e o suporte a operações que possam ser desfeitas. O 
objetivo do padrão de projeto Command é encapsular chamadas de métodos. 
As principais aplicabilidades deste padrão de projeto são: permitir fácil inclusão de 
novos comandos, permitir tratamento de requisições concorrentes, manter 
histórico de execução de comandos, suportar operações para desfazer comandos 
e, principalmente, evitar o acoplamento direto entre classes e serviços.

Continue navegando