Baixe o app para aproveitar ainda mais
Prévia do material em texto
PADRÕES DE PROJETO DE SOFTWARE Avaliação Parcial: CCT0425_SM_201607268396 V.1 Aluno(a): Matrícula: Acertos: 7,0 de 10,0 Data: 27/09/2018 16:25:18 (Finalizada) 1a Questão (Ref.:201608329354) Acerto: 1,0 / 1,0 Conhecido como padrões da guangue dos quatro, os padrões GoF estão classificados em: Padrões estruturais, padrões de comportamento e padrões de fábrica. Padrões estruturais, padrões de emocionais e padrões de fábrica. Padrões de criação, padrões de composição e padrões comportamentais. Padrões de Interpretação, padrões de observação e padrões estruturais. Padrões de criação, padrões estruturais e padrões comportamentais. 2a Questão (Ref.:201607403010) Acerto: 1,0 / 1,0 Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões Estruturais cujo objetivo é: Define formas de gerencia e combinar diferentes comportamentos. Define como implantar um novo método em uma classe. Defende formas de instanciar objetos delegando responsabilidades Define a forma de organização dos objetos e sua colaboração mutua Define como implantar o mecanismo de herança em um grupo de objetos 3a Questão (Ref.:201608328146) Acerto: 1,0 / 1,0 Analise as afirmativas abaixo, com relação aos padrões de projeto, e marque a opção correta. I - O Singleton é um padrão que garante que uma classe tenha apenas uma instância. II - Alguns padrões de criação como o Prototype, o Proxy e o Façade não são adequados para a programação orientada a objetos. III - Adapter é um padrão estrutural utilizado para compatibilizar interfaces de modo que elas possam interagir. Todas as afirmativas estão incorretas Apenas I e III estão corretas Apenas I está correta Apenas I e II estão corretas Todas as afirmativas estão corretas 4a Questão (Ref.:201607403017) Acerto: 0,0 / 1,0 Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá armazenar todas as configurações e regras necessárias para a instanciação do novo objeto. As afirmativas I, II, estão corretas e a afirmativa III está errada. As afirmativas I, III, estão corretas e II errada As afirmativas estão todas corretas As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, III estão incorretas 5a Questão (Ref.:201607403026) Acerto: 1,0 / 1,0 Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma alternativa é atribuir dinamicamente a um dado objeto. Este padrão é chamado de: Bridge protype Singleton Instance Decorator. 6a Questão (Ref.:201607987661) Acerto: 1,0 / 1,0 Construtores em Java definem uma maneira padrão de construir objetos. No entanto, depender de construtores para instanciar objetos pode nos levar a alguns problemas dos quais podemos citar, exceto: Não é preciso saber a classe concreta do objeto para criá-lo A aplicação cliente fica acoplada diretamente a uma implementação concreta para poder usar diretamente o construtor Cliente pode não ter ou não saber todos os dados necessários para instanciar um objeto através de construtores Usando diretamente os métodos construtores não há como limitar o número de instâncias criadas Objeto complexo pode necessitar da criação de objetos menores previamente, com certo controle difícil de implementar com construtores 7a Questão (Ref.:201610247475) Acerto: 1,0 / 1,0 O objetivo do Flyweight é diminuir o consumo de memória, porém deve ser utilizado com cautela. Gamma et al (2000) recomendam sua utilização somente quando todas as condições abaixo forem verdadeiras, EXCETO uma. Qual delas abaixo é essa situação? Muitos grupos de objetos podem ser substituídos por relativamente poucos objetos compartilhados, uma vez que estados extrínsecos são removidos. A aplicação não depende da identidade do objeto. Quando for necessário elaborar um algoritmo ou algo complicado para separar objetos mutáveis de imutáveis; Os custos de armazenamento são altos por causa da grande quantidade de objetos. Uma aplicação utiliza um grande número de objetos. 8a Questão (Ref.:201608003804) Acerto: 0,0 / 1,0 O Padrão Flyweight é um objeto compartilhado, que pode ser usado em vários contextos, simultaneamente, pois, tem capacidade de funcionar de forma independente em cada contexto. Seus métodos e implementações não podem, em momento algum, fazer _____________________________________________________________ comparações ou associações sobre o contexto no qual o objeto opera. Acoplamento fraco entre o subsistema e seus clientes. hipóteses ou exclusões sobre o contexto no qual o objeto opera. hipóteses ou asserções sobre fora do contexto no qual o objeto opera. hipóteses ou asserções sobre o contexto no qual o objeto opera. Gabarito Coment. 9a Questão (Ref.:201607413577) Acerto: 1,0 / 1,0 (CESGRANRIO - 2008) Muitos frameworks utilizam um padrão de projeto (design pattern) que se baseia no princípio de projeto "Não nos chame, nós iremos chamar você" (O Princípio de Hollywood: "Don't call us, we'll call you."). Uma classe da aplicação herda de uma classe do framework que possui métodos abstratos, os quais são chamados em outros métodos concretos. A classe da aplicação sobrepõe os métodos abstratos da classe do framework com métodos concretos, permitindo que os métodos concretos da classe do framework sejam chamados. O padrão de projeto (design pattern) em questão chama-se Template Method. Strategy. Abstract Factory. Decorator. Singleton. Gabarito Coment. 10a Questão (Ref.:201608030640) Acerto: 0,0 / 1,0 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 - II - IV II - III - IV I - II - III I - III - IV III - IV Gabarito Coment.
Compartilhar