Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disc.: PADRÕES DE PROJETOS DE SOFTWARE COM JAVA Turma: 3001 Aluno: ELIAS DA SILVA ALVES Matr.: 201908532157 Prof.: HELDER GUIMARAES ARAGAO Gabarito a partir de: 5196186633 - 201908532157 1. Ref.: 6102603 Os padrões de projeto são compostos por: nenhuma das anteriores. Apenas da consequência do uso Apenas do algoritmo de como resolve Apenas do nome Nome, problema a ser resolvido, como resolvem e consequências da sua aplicação Respondido em 27/04/2022 20:07:01 2. Ref.: 6102606 Um carro é composto por pneu, motor e volante. Qual padrão de projeto você usaria para implementar essa situação? Factory method para fabricar carros. Singleton, pois precisa-se ter apenas uma instância do carro. Bridge para fazer uma ponte entre o carro e suas partes. O padrão de projeto Builder que permite a construção do todo (carro) a partir das partes (pneu, volante e motor) Facade para construir carros a partir de interface única. Respondido em 27/04/2022 20:06:46 3. Ref.: 6102600 Imagine que tem um Sistema A que não conversa com um Sistema B. Eles são incompatíveis, pois foram desenvolvidos em momentos distintos. O desenvolvedor precisa adapter uma realidade à outra. Qual padrão de projeto escolhido para resolver este caso? Adapter. O desenvolvedor precisa implementar um adaptador do Sistema A para o Sistema B. Composite para criar uma composição de sistemas. Abstract Factory para construir uma fábrica de Sistemas Singleton para permitir apenas uma instância do Sistema A Builder para compor o sistema em partes. Respondido em 27/04/2022 20:06:40 4. Ref.: 6102604 Os padrões de projeto são padrões que foram catalogados e que podem ser aplicados em projetos que teham problemas similares. Uma questão importante trazida pelos padrões de projeto é: Reuso de ideias, soluções e algoritmo. javascript:alert('C%C3%B3digo da quest%C3%A3o: 6102603.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6102606.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6102600.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6102604.'); Atende apenas a questões de linguagens antigas como o COBOL. Não reuso de ideias. Deixa o projeto mais lento e difícil de reusar nenhuma das anteriores. Respondido em 27/04/2022 20:06:28 5. Ref.: 6102405 Facade representa a simplificação de chamadas a um conjunto de funcionalidades. nenhuma das anteriores Verdade, pois o facade só funciona com singleton e adapter Verdade, pois o facade visa implementar a criação de um método que pode chamar outras funcionalidades. Isto simplifica chamdas e esconde complexidade. Falso, pois quem facilita chamada de funcionalidades é o adapter Falso, porque o facade aumenta a complexidade de chamadas de funcionalidades. Respondido em 27/04/2022 20:06:15 6. Ref.: 6041322 Analise a estratégia de solução a seguir: ''Implementar uma operação clone em cada produto concreto a ser instanciado, permitindo que um módulo cliente crie uma nova instância por meio da criação de uma réplica de um objeto já existente''. Assinale a alternativa com o nome do padrão que define essa estratégia: Prototype Factory Method Singleton Builder Abstract Factory Respondido em 27/04/2022 20:05:54 7. Ref.: 6100208 Você foi contratado por uma empresa de desenvolvimento de software para desenvolver software com qualidade. Você pegou um código legado, isto é, que já existia na empresa e encontrou na tela principal a seguinte construção que o desenvolvedor que saiu: ... if opcao.equals(¿AviaoTecoTeco¿){ } else if opção.equals(¿AviaoGrandePorte¿){ } ... O desenvolvedor antigo fez o código acima na TELA principal onde tem vários ifs para construir os objetos que representam os aviões conforme seu tipo. O professor falou que a construção acima não é adequada. Qual padrão você usaria? javascript:alert('C%C3%B3digo da quest%C3%A3o: 6102405.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6041322.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6100208.'); Builder Prototype Factory Method ou abstract factory Singleton Adapter Respondido em 27/04/2022 20:05:46 8. Ref.: 6100302 O que falta no trecho abaixo para esta classe se tornar um singleton? public class CampoBatalha { private static CampoBatalha cp = null; private String jogo; private int nivelDificuldade; private CampoBatalha() {} // Inibe o construtor padrão private CampoBatalha(String jogo, int nivelDificuldade) { this.jogo = jogo; this.nivelDificuldade = nivelDificuldade; } public static CampoBatalha criaInstancia(String jogo, int nivelDificuldade) { cp = new CampoBatalha(jogo,nivelDificuldade); return cp; } } Falta um if no método para limitar o número de instâncias public static CampoBatalha criaInstancia(String jogo, int nivelDificuldade) { cp = new CampoBatalha(jogo,nivelDificuldade); return cp; } Falta criar novos construtores Falta remover o private do método construtor. Não falta nada, pois já é um singleton nenhuma das anteriores Respondido em 27/04/2022 20:05:22 9. Ref.: 6041026 javascript:alert('C%C3%B3digo da quest%C3%A3o: 6100302.'); javascript:alert('C%C3%B3digo da quest%C3%A3o: 6041026.'); Você deseja criar um objeto complexo formado por diferentes partes. Para isso, você define uma interface abstrata responsável com operações representando a criação dessas partes, permitindo que as implementações concretas dessa interface criem diferentes representações dessas partes. Qual padrão de projeto você utilizaria nessa situação? Factory Method Prototype Singleton Abstract Factory Builder Respondido em 27/04/2022 20:05:16 10. Ref.: 6040999 Você está implementando um conjunto de componentes de interface gráfica com o usuário que precisa rodar em diferentes plataformas (ex.: Windows, Linux). Você quer poder evoluir a estrutura dos componentes gráficos de forma independente das implementações específicas dos componentes para cada plataforma. Portanto, você quer poder especializar os componentes gráficos de forma independente das plataformas onde esses componentes rodarão. Assinale a alternativa com o nome do padrão mais indicado para ser aplicado nesse contexto: Proxy Facade Decorator Adapter Bridge Respondido em 27/04/2022 20:05:08 javascript:alert('C%C3%B3digo da quest%C3%A3o: 6040999.');
Compartilhar