Buscar

CCT0763_EX_A3_V1

Prévia do material em texto

PADRÕES DE PROJETO DE SOFTWARE 
3a aula 
 
 
Lupa 
 
 
 
 
 
Exercício: CCT0763_EX_A3_V1 2020 
Aluno(a): 
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 
 
 
 
1 
 Questão 
 
 
Qual padrão de projeto representado na figura abaixo? 
 
 
 
 Adapter 
 
Low coupling 
 
Chain of Responsability 
 
Creator 
 
High coehsion 
Respondido em 28/08/2020 19:49:28 
 
 
Explicação: 
O padrão Adpater é bastante utilizado para compatibilizar classes implementadas 
por programadores diferentes, ou desenvolvidas em momentos diferentes, ou 
ainda para unir classes com interfaces diferentes em uma estrutura hierárquica 
única, sem precisar implementar novamente todas as funcionalidades e interfaces 
da classe já existente. 
A idéia é criar uma nova classe (Adapter) com a interface padrão que se deseja 
para fazer a conexão com a classe já existente (Adapter) com interface diferente 
da estrutura de classes que se pretende utilizar no sistema. 
javascript:diminui();
javascript:aumenta();
Além de reaproveitar totalmente a classe antiga sem precisar alterar o código e 
entender a complexa implementação realizada, mantém a uniformidade do seu 
projeto original. 
 
 
 
 
2 
 Questão 
 
 
Qual padrão observamos no diagrama de classes abaixo? 
 
 
 
 
 
Composite 
 
Bridge 
 
FlyWeight 
 
Prototype 
 Decorator 
Respondido em 28/08/2020 19:51:25 
 
 
Explicação: 
O padrão Decorator é um padrão de cuja intenção são as Extenções. 
O padrão Decorator anexa responsabilidades adicionais a um objeto (em caráter 
dinâmico) dinamicamente. Decorators oferecem uma alternativa flexível ao uso de 
herança para estender uma funcionalidade (para a extensão de funcionalidade). 
 
 
 
 
3 
 Questão 
 
 
Que padrão estrutural anexa dinamicamente responsabilidades adicionais a um objeto. Provê uma 
alternativa flexível ao uso de herança como mecanismo de extensão de funcionalidade: 
 
 
 
 
Adapter 
 
Facade 
 
Composite 
 Decorator 
 
Bridge 
Respondido em 28/08/2020 19:53:17 
 
 
 
 
4 
 Questão 
 
 
O padrão Bridger é um Padrão Estrutural GoF. Quando devemos usar esse 
padrão? Assinale a opção INCORRAETA. 
 
 
 Quando houver uma interface que permita a implementação 
estática; 
 Quando for necessário evitar uma ligação permanente entre a 
interface e implementação; 
 Quando alterações na implementação não puderem afetar clientes; 
 Quando implementações são compartilhadas entre objetos 
desconhecidos do cliente; 
 Quando tanto abstrações como implementações precisarem ser 
capazes de suportar extensão através de herança; 
Respondido em 28/08/2020 19:54:27 
 
 
Explicação: 
Essa afirmativa está INCORRETA, porque ela se refere ao 
padrão Adapter. 
 
 
 
 
5 
 Questão 
 
 
Imagine que você está desenvolvendo um sistema para um bar 
especializado em coquetéis, onde existem vários tipos de coquetéis 
que devem ser cadastrados para controlar a venda. Os coquetéis são 
feitos da combinação de uma bebida base e vários outros adicionais 
que compõe a bebida. Por exemplo: 
Conjunto de bebidas: 
 Cachaça 
 Rum 
 Vodka 
 Tequila 
Conjunto de adicionais: 
 Limão 
 Refrigerante 
 Suco 
 Leite condensado 
 Gelo 
 Açúcar 
Então, como possíveis coquetéis temos: 
 Vodka + Suco + Gelo + Açúcar 
 Tequila + Limão + Sal 
 Cachaça + Leite Condensado + Açúcar + Gelo 
Qual padrão você usaria para representar a estrutura acima? 
 
 
 
Observer 
 
State 
 
Strategy 
 Decorator 
 
Façade 
Respondido em 28/08/2020 19:57:00 
 
 
Explicação: 
O padrão Decorator é um padrão de cuja intenção são as Extenções. 
O padrão Decorator anexa responsabilidades adicionais a um objeto (em 
caráter dinâmico) dinamicamente. Decorators oferecem uma alternativa 
flexível ao uso de herança para estender uma funcionalidade (para a 
extensão de funcionalidade). 
 
 
 
 
6 
 Questão 
 
 
(2016 - COPEVE-UFAL) Na hierarquia dos componentes visuais da biblioteca Java AWT (do inglês, 
Abstract Window Toolkit), há containers e componentes. Containers, tais como os representados 
pelas classes Frame, Panel, Dialog e Applet agregam outros componentes, tais como os 
representados pelas classes Button e Label. Um container pode também conter sub-containers. 
Logo, um container pode conter containers ou componentes. Qual o padrão de projeto que 
representa a estrutura de relacionamento entre as classes AWT? 
 
 
 
Strategy 
 
Observer 
 Composite 
 Decorator 
 
Chain of Responsability 
Respondido em 28/08/2020 19:59:46 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: 
Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de 
objetos, facilitando sua integração e colaboração mutua. 
O padrão Composite compõem objetos em estruturas de árvore para 
representar hierarquias todo-parte. Composite permite que clientes tratem 
objetos individuais e composições de objetos de maneira uniforme. 
 
 
 
 
7 
 Questão 
 
 
Escolha a opção que descreve o objetivo do ¿Composite¿: 
 
 
 
Compor objetos em estruturas sequenciais para representar hierarquias de herança 
aplicada. O Composite permite que clientes tratem objetos individuais e composições de 
objetos de maneira uniforme. 
 
Criar instancias de objetos em estruturas que representam hierarquias de dependência de 
plataforma de implementação. O Composite permite que clientes tratem objetos distintos, e 
as composições, desses objetos de maneira parecidas. 
 
Compor objetos em estruturas de árvore para representar heranças de classes abstratas, 
que serão instanciadas. O Composite permite que clientes tratem objetos individuais e 
composições de objetos de maneira uniforme. 
 Compor objetos em estruturas de árvore para representar hierarquias todo-parte. O 
Composite permite que clientes tratem objetos individuais e composições de objetos de 
maneira uniforme. 
 
Compor objetos em estruturas de árvore para representar hierarquias todo-parte. 
Composite permite que clientes tratem objetos em grupo e não objetos de maneira 
uniforme. 
Respondido em 28/08/2020 20:01:44 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: 
Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de 
objetos, facilitando sua integração e colaboração mutua. 
O padrão Composite compõem objetos em estruturas de árvore para 
representar hierarquias todo-parte. Composite permite que clientes tratem 
objetos individuais e composições de objetos de maneira uniforme. 
 
 
 
 
8 
 Questão 
 
 
A classe java.util.Map da API de coleções de Java permite que sejam 
armazenados pares de objetos (chave e valor) em uma de suas 
implementações (as mais conhecidas são HashMap e TreeMap). No 
entanto, estas classes não possuem um construtor que receba como 
parâmetro uma matriz de duas linhas e que monte o mapa usando a 
primeira linha como chave e a segunda como coluna. 
Qual padrão utilizar para resolver o problema acima? 
 
 
 
 
Chain of Responsibility 
 Adapter 
 
Iterator 
 
Observer 
 
Interpreter 
Respondido em 28/08/2020 20:02:46 
 
 
Explicação: 
Os Padrões Estruturais GoF contemplam 7 (sete) tipos de padrões: 
Adapter, Bridge, Composite, Decorator, Façade, Flyweight e Proxy. 
Definem caminhos comuns para a organização de diferentes tipos de 
objetos, facilitando sua integração e colaboração mutua. 
Os Padrões Estruturais tratam da composição de classes e objetos para 
formar estruturas complexas; associados à maneira como classes e 
objetos são organizados estruturalmente; oferecem formas efetivas para 
usar conceitos OO como herança e composição, e são abstrações de 
aspectos estruturais. 
O padrão Adpater é bastante utilizado para compatibilizarclasses 
implementadas por programadores diferentes, ou desenvolvidas em 
momentos diferentes, ou ainda para unir classes com interfaces diferentes 
em uma estrutura hierárquica única, sem precisar implementar novamente 
todas as funcionalidades e interfaces da classe já existente. 
A idéia é criar uma nova classe (Adapter) com a interface padrão que se 
deseja para fazer a conexão com a classe já existente (Adapter) com 
interface diferente da estrutura de classes que se pretende utilizar no 
sistema. 
Além de reaproveitar totalmente a classe antiga sem precisar alterar o 
código e entender a complexa implementação realizada, mantém a 
uniformidade do seu projeto original. 
 
 
 
 
 
 
 
javascript:abre_colabore('38403','203466087','4067535987');

Mais conteúdos dessa disciplina