Baixe o app para aproveitar ainda mais
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');
Compartilhar