Buscar

PADRÕES DE PROJETO DE SOFTWARE AVALIAÇÃO PARCIAL I

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.

Continue navegando