Buscar

CCT0763_EX_A1_V2

Prévia do material em texto

PADRÕES DE PROJETO DE SOFTWARE 
1a aula 
 
 
Lupa 
 
 
 
 
 
Exercício: CCT0763_EX_A1_V2 2020 
Aluno(a): 2020.3 EAD 
Disciplina: CCT0763 - PADRÕES DE PROJETO DE SOFTWARE 
 
 
 
1 
 Questão 
 
 
Um desenvolvedor de sistema computacional programou as seguintes classes abaixo: 
CÓDIGO EM JAVA 
 Classe Geometria: 
public abstract class Geometria { 
 private Figura objeto; 
 public abstract void criaObjeto(); 
 public Figura getObjeto() {return objeto;} 
} 
 Classe GeoCirculo: 
public class GeoCirculo extends Geometria { 
 private final double r; 
 public GeoCirculo (double r) {this.r = r;} 
 @Override 
 public void criaObjeto() { this.objeto = new Circulo(r);} 
} 
 Classe GeoQuadrado: 
public class GeoQuadrado extends Geometria { 
 private final double l; 
 public GeoQuadrado(double l) {this.l = l;} 
 @Override 
 public void criaObjeto() {this.objeto = new Quadrado(l);} 
} 
 Classe GeoTriangulo: 
public class GeoTriangulo extends Geometria { 
 private final double a, l; 
 public GeoTriangulo(double a, double l) { 
 this.a = a; 
 this.l = l; 
 } 
 @Override 
 public void criaObjeto() {this.objeto = new Triangulo(a, l);} 
} 
 Classe Figure: 
javascript:diminui();
javascript:aumenta();
public abstract class Figura { 
 public abstract double area(); 
} 
 Classe Circulo: 
public class Circulo extends Figura{ 
 private double raio; 
 public Circulo (double raio) {this.raio = raio;} 
 @Override 
 public double area() {return Math.pow(raio,2)*3.14159;} 
 public double getRaio() {return raio;} 
 public void setRaio(double raio) {this.raio = raio;} 
} 
 Classe Quadrado: 
public class Quadrado extends Figura { 
 private double lado; 
 public Quadrado(double lado) {this.lado = lado;} 
 @Override 
 public double area() {return Math.pow(lado, 2);} 
 public double getLado() {return lado;} 
 public void setLado(double lado) {this.lado = lado;} 
} 
 Classe Quadrado: 
public class Triangulo extends Figura { 
 private double altura, largura; 
 public Triangulo (double altura, double largura) { 
 this.altura = altura; 
 this.largura = largura; 
 } 
 @Override 
 public double area() {return (altura*largura)/2;} 
 public double getAltura() {return altura;} 
 public void setAltura(double altura) {this.altura = altura;} 
 public double getLargura() {return largura;} 
 public void setLargura(double largura) {this.largura = largura;} 
} 
Analisando o que foi codificado pelo desenvolvedor podemos averiguar que ele utilizou um modelo 
dos padrões de projeto GoF (Gang of Four) pertencente a categoria dos padrões de criação. 
Baseado nesse contexto, assinale abaixo a única opção que informa corretamente qual foi o modelo 
dos padrões GoF de criação empregado no desenvolvimento das classes JAVA apresentada 
anteriormente: 
 
 
 
Builder (Construtor). 
 
Prototype (Protótipo). 
 Abstract Fatory (Fabrica abstrata). 
 Factory Method (Método de fabricação). 
 
Singleton. 
Respondido em 26/08/2020 21:24:13 
 
 
 
 
2 
 Questão 
 
 
Conhecido como padrões da guangue dos quatro, os padrões GoF estão classificados em: 
 
 
 
Padrões estruturais, padrões de emocionais e padrões de fábrica. 
 
Padrões de Interpretação, padrões de observação e padrões estruturais. 
 
Padrões de criação, padrões de composição e padrões comportamentais. 
 
Padrões estruturais, padrões de comportamento e padrões de fábrica. 
 Padrões de criação, padrões estruturais e padrões comportamentais. 
Respondido em 26/08/2020 21:06:12 
 
 
Explicação: 
Gang of Four - Gangue dos Quatro. 
Há três grupos de Padrões GoF: Padrões de Criação, Padrões Estruturais 
e Padrões Comportamentais. 
 
 
 
 
3 
 Questão 
 
 
Analise as afirmações abaixo: 
I. Encapsula a escolha da classe concreta a ser utilizada na criação de objetos. 
II. Especifica os tipos de objetos a serem criados usando protótipo de objetos 
III. Garante que uma classe tem somente uma instância; 
As afirrmações correspondem respectivamente a: 
 
 
 
Singleton, Abstract Factory, Factory Method 
 
Abstract Factory, Factory Method, Singleton 
 Factory Method, Abstract Factory, Singleton 
 
Abstract Factory, Singleton, Factory Method 
 
Factory Method, Singleton, Abstract Factory 
Respondido em 26/08/2020 21:10:52 
 
 
Explicação: 
Essa resposta está correta porque há cinco Padrões de Criação GoF: Abstract 
Factory, Builder, Factory Method, Prototype e Singleton. 
Os Padrões de Criação fornecem um guia de como instanciar objetos. 
Esta ação normalmente envolve decisões dinâmicas para escolher, por 
exemplo, qual classe instanciar, ou a quais objetos delegar 
responsabilidade. Esse padrão nos mostra como estruturar e encapsular 
essas decisões. 
 
 
 
 
4 
 Questão 
 
 
1) A empresa XWebx foi contratada para desenvolver aplicativos de uma instituição financeira que 
possam ser executados em diferentes plataformas, como PC, celular e tablet. Para evitar a 
necessidade de criar diferentes soluções para cada plataforma, a empresa decidiu adotar um 
padrão de projeto que defina uma família de componentes para cada plataforma e uma 
implementação que os instancie de acordo com a plataforma-alvo na qual a aplicação estará sendo 
executada. O padrão adequado a essa implementação é: 
 
 
 
Adapter 
 
Prototype 
 Abstract Factory 
 
Template Method 
 
Strategy 
Respondido em 26/08/2020 21:12:55 
 
 
Explicação: 
O método Abstract Factory fornece uma interface para a criação de uma 
família de objetos relacionados ou dependentes sem especifi car suas 
classes completas. 
 
 
 
 
5 
 Questão 
 
 
Sobre padrão, o que podemos afirmar: 
 
 
 
Definimos pratica testada ou documentada de alcançar um objetivo qualquer, e que nunca 
mais é usada pois as situações não se repetem. Não é muito utilizado em áreas da 
engenharia. 
 
Definimos como forma, em experimento provisório, pela comunidade acadêmica da área 
sem documentação e é muito utilizado em varias áreas da engenharia. 
 Definimos como maneira testada ou documentada de alcançar um objetivo qualquer, e é 
muito utilizado em varias áreas da engenharia. 
 
Definimos a maneira teórica de alcançar um objetivo qualquer, e, por isso, não tem muito 
uso para áreas da engenharia. 
 
Definimos como experiências praticas sem ter documentação, e é muito utilizado em varias 
áreas da engenharia. 
Respondido em 26/08/2020 21:14:30 
 
 
Explicação: 
Padrões de projeto são voltados para problemas recorrentes que ocorrem 
no nosso dia-a-dia. 
São descrições de objetos que se comunicam e classes que são 
customizadas para resolver um problema genérico de design em um 
contexto específico. 
 
 
 
 
6 
 Questão 
 
 
Podemos afirmar que os Padrões de Criação da família GoF: 
 
 
 
Definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando 
sua integração e colaboração mútua. 
 
Colocam em dúvida o tratamento dispensado aos usuários na fase de levantamento das 
necessidades. 
 
Subutilizam as rotinas de tratamento de erros, em virtude da depuração de código fonte 
na fase de levantamento das necessidades junto aos usuários. 
 Fornecem um guia de como instanciar objetos, que normalmente envolve decisões 
dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos delegar 
responsabilidade. 
 
São projetados para organizar, gerenciar e combinar diferentes comportamentos. 
Respondido em 26/08/2020 21:15:55 
 
 
Explicação: 
Há três grupos de padrões GoF: Padrões de Criação, Padrões Estruturais e Padrões 
Comportamentais. 
Os padrões de criação GoF contemplam 5 (cinco) tipos de padrões: Abstract Factory, Builder, 
Factory Method, Prototype e Singleton. 
Os Padrões de Criação Fornecem um guia de comoinstanciar objetos. Esta ação normalmente 
envolve decisões dinâmicas para escolher, por exemplo, qual classe instanciar ou a quais objetos 
delegar responsabilidade. Esse padrão nos mostra como estruturar e encapsular essas decisões 
 
 
 
 
7 
 Questão 
 
 
Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões Estruturais 
cujo objetivo é: 
 
 
 Defende formas de instanciar objetos delegando responsabilidades 
 
Define como implantar o mecanismo de herança em um grupo de objetos 
 Define a forma de organização dos objetos e sua colaboração mutua 
 
Define formas de gerencia e combinar diferentes comportamentos. 
 
Define como implantar um novo método em uma classe. 
Respondido em 26/08/2020 21:18:37 
 
 
Explicação: 
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, 
Padrões Estruturais e Padrões Comportamentais. 
O objetivo dos Padrões Estruturais é definir caminhos comuns para a organização de diferentes 
tipos de objetos, facilitando sua integração e colaboração mutua. 
 
 
 
 
8 
 Questão 
 
 
considerando a classe de projetos GoF assinalem a opção cujos padrões de projeto estão todos 
classificados como Comportamentais 
 
 
 
Command,- bridge, - Iterator, - Mediator, bridge, State, Strategy 
 Command,- Interpreter, - Iterator, - Mediator, - Observer, State, Strategy 
 
Command,- bridge, - Iterator, - Mediator, - composite - State, Strategy 
 
Command,- bridge, - Iterator, - Mediator, - Observer, State, Strategy 
 
Command,- Interpreter, - Iterator, - Mediator, - composite , State, Strategy 
Respondido em 26/08/2020 21:23:10 
 
 
Explicação: 
A família de padrões GoF, está divida em três grupos principais de padrões: Padrões de Criação, 
Padrões Estruturais e Padrões Comportamentais. 
Se categorizarmos os padrões de Projeto por Finalidade, temos as categorias Estruturais, e por 
Finalidade. Esta categorização pode ser por Criação ou Comportamentais. 
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. 
Há 11 padrões comportamentais GoF: Chain of Responsibility, Command, Interpreter, Iterator, 
Mediator, Memento, Observer, State, Strategy, Template Method e Visitor. 
 
 
 
 
 
 
 
javascript:abre_colabore('38403','203394152','4066734209');

Continue navegando