Baixe o app para aproveitar ainda mais
Prévia do material em texto
PADRÕES DE PROJETO DE SOFTWARE 5a aula Lupa 1 Questão Analise as sentenças abaixo. I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através de uma gramática procedural. II - O padrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois quando se tem muitas gramáticas, são difíceis de manter e administrar. III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, contexto ou problema a ser resolvido, são redefinas nas classes derivadas (concretas). IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua estrutura lógica. Marque a opção correta. I - III - IV III - IV I - II - III I - II - IV II - III - IV Respondido em 16/04/2021 15:39:39 Gabarito Comentado 2 Questão O método Arrays.sort (java.util) recebe como parâmetro um objeto do tipo Comparator que implementa um método compare(a, b) e utiliza-o para definir as regras de ordenação, assim evitamos duplicidade de código permitindo sobrescrita apenas do critério de comparação do algoritmo de ordenação, no qual os outros passos permanecem invariantes. Essa situação exemplifica qual dos padrões GOF abaixo: State Builder Flyweight Template Method Command Respondido em 16/04/2021 15:44:36 3 Questão São exemplos de Padrões de Projeto Comportamentais: Mediator, Strategy e Builder Interpreter, Chain of Responsibility e Observer Command, Composite e Memento State, Flyweight e Decorator Singleton, Mediator e Strategy Respondido em 16/04/2021 15:45:37 4 Questão Aponte dentre as opções abaixo aquela que corresponde ao padrão que apresenta como uma desvantagens, a obrigatoriedade da definição de ao menos, uma classe para cada regra da gramática, logo, gramáticas com muitas regras são difíceis de manter e administrar. Chain of Responsability; Proxy; Interpreter; Façade; Template Method; Respondido em 16/04/2021 15:46:27 5 Questão Qual padrão define o esqueleto de um algoritmo em uma operação, postergando alguns passos para as subclasses e permite que subclasses redefinam certos passos de um algoritmo sem mudar a estrutura do mesmo? Adapter. Command. Nenhuma das anteriores. State. Template Method. Respondido em 16/04/2021 15:46:45 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 Template Method define o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses. Template Method permite que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura. 6 Questão (BACEN ¿ CESGRANRIO 2010) Um arquiteto de software estuda que padrões de projeto são apropriados para o novo sistema de vendas de uma empresa. Ele deve considerar que o padrão Builder garante que uma classe seja instanciada somente uma vez, fornecendo também um ponto de acesso global. Bridge separa a construção de um objeto complexo de sua representação, de modo que o mesmo processo de construção possa criar diferentes representações. Template Method utiliza compartilhamento para suportar, eficientemente, grandes quantidades de objetos de granularidade fina. Singleton separa uma abstração de sua implementação, de modo que os dois conceitos possam variar de modo independente. Chain of Responsibility evita o acoplamento entre o remetente de uma solicitação e seu destinatário, dando oportunidade para mais de um objeto tratar a solicitação. Respondido em 16/04/2021 15:48:36 7 Questão Dentre as opções apresentadas, assinale aquela que corresponde ao padrão de projeto que sugere a implementação de um algoritmo que faz uso de diferentes métodos, diferenciando das soluções convencionais por deixar o esqueleto deste algoritmo fixo em uma superclasse abstrata. Chain of Responsability, Proxy; Flyweight Template Method Interpreter; Respondido em 16/04/2021 15:49:23 Gabarito Comentado 8 Questão Qual o objetivo do padrão Interpreter? Assinale a opção CORRETA. Dada uma linguagem, definir uma representação para sua gramática junto com um interpretador que usa a representação para interpretar sentenças na linguagem; Permitir que suas subclasses redefinam certos passos de um algoritmo sem mudar sua estrutura; Fornece uma estrutura fixa, de um algoritmo, esta parte fixa deve estar presente na superclasse, sendo obrigatório uma classeAbstrata que possa conter um método concreto; Definir o esqueleto de um algoritmo dentro de uma operação, deixando alguns passos a serem preenchidos pelas subclasses; Preencher certas partes do algoritmo por implementações que irão variar, ou seja, implementar um algoritmo em um método, postergando a definição de alguns passos do algoritmo, para que outras classes possam redefini-los; Respondido em 16/04/2021 15:51:08 Explicação: Essa afirmativa está correta, porque as outras se referem ao padrão Template Method. PADRÕES DE PROJETO DE SOFTWARE 5 a aula Lupa 1 Questão Analise as sentenças abaixo. I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através de uma gramática procedural. II - O padrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois quando se tem muitas gramáticas, são difíceis de manter e administrar. III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, contexto ou problema a ser resolvido, são redefinas nas classes derivadas (concretas). IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua estrutura lógica. Marque a opção correta. I - III - IV III - IV I - II - III I - II - IV II - III - IV Respondido em 16/04/2021 15:39:39 Gabarito Comentado 2 Questão O método Arrays.sort (java.util ) recebe como parâmetro um objeto do tipo Comparator que implementa um método compare(a, b) e utiliza - o para definir as regras de ordenação, assim evitamos duplicidade de código permitindo sobrescrita apenas do critério de comparação do algoritmo de ordena ção, no qual os outros passos permanecem invariantes. Essa situação exemplifica qual dos padrões GOF abaixo: State Builder Flyweight Template Method Command Respondido em 16/04/2021 15:44:36 PADRÕES DE PROJETO DE SOFTWARE 5 a aula Lupa 1 Questão Analise as sentenças abaixo. I - A estrutura do padrão interpreter sugere que a modelagem do problema seja realizada através de uma gramática procedural. II - Opadrão Interpreter tem como desvantagem definir uma classe para cada gramática, pois quando se tem muitas gramáticas, são difíceis de manter e administrar. III - No padrão de projeto Template Method as partes que podem variar, conforme a situação, contexto ou problema a ser resolvido, são redefinas nas classes derivadas (concretas). IV - O padrão de projeto Template Method sugere a implementação de um algoritmo fixo em uma superclasse abstrata onde se consegue alterar o comportamento do algoritmo, sem modificar sua estrutura lógica. Marque a opção correta. I - III - IV III - IV I - II - III I - II - IV II - III - IV Respondido em 16/04/2021 15:39:39 Gabarito Comentado 2 Questão O método Arrays.sort (java.util) recebe como parâmetro um objeto do tipo Comparator que implementa um método compare(a, b) e utiliza-o para definir as regras de ordenação, assim evitamos duplicidade de código permitindo sobrescrita apenas do critério de comparação do algoritmo de ordenação, no qual os outros passos permanecem invariantes. Essa situação exemplifica qual dos padrões GOF abaixo: State Builder Flyweight Template Method Command Respondido em 16/04/2021 15:44:36
Compartilhar