Buscar

Padrões de Projetos de Softwares

Prévia do material em texto

Avaliação: CCT0265_AV_201301014354 » PADRÕES DE PROJETO DE SOFTWARE 
Tipo de Avaliação: AV 
Aluno: xxxxxxxxxxxxxxxxxxxxxxxxxxxx 
Professor: HORACIO DA CUNHA E SOUZA RIBEIRO Turma: xxxxxxxx 
Nota da Prova: 3,0 Nota de Partic.: 2 Data: 00/00/2014 
 
 
 1a Questão (Ref.: 201301093569) Pontos: 0,0 / 0,5 
Um dos princípios do padrão de arquitetura MVC é a separação da lógica da apresentação do 
modelo. 
PORQUE 
É, muitas vezes, mais prático manter a visão e o controlador unificados, inclusive, por demandas da 
tecnologia. 
Analisando-se as afirmações acima, conclui-se que ... 
. 
 
 
 a primeira afirmação é falsa, e a segunda é verdadeira. 
 
a primeira afirmação é verdadeira, e a segunda é falsa. 
 
As duas afirmações são falsas 
 
as duas afirmações são verdadeiras, e a segunda justifica a primeira. 
 as duas afirmações são verdadeiras, e a segunda não justifica a primeira. 
 
 
 
 2a Questão (Ref.: 201301093568) Pontos: 0,0 / 0,5 
Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO. 
 
 
 
identificar os elementos do padrão de projeto que devem ser vinculados aos elementos em um contexto 
específico e representá-los como parâmetros para colaboração. 
 
entender o padrão de projeto como uma colaboração representada com suas partes estruturais e 
comportamentais. 
 identificar as soluções comuns para o problema básico. 
 identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo. 
 
fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim 
como os aspectos comportamentais. 
 
 
 
 3a Questão (Ref.: 201301123581) Pontos: 0,0 / 0,5 
sobre o padrão Composite podemos afirmar: I ¿ É utilizado quando se pretende representar hierarquias partes-
todo (ou todo-parte) de objetos, ou ainda, quando se pretende modelar relacionamento de agregação. Ii - o 
cliente poderá acessar objetos compostos ou não de maneira uniforme, pois irá se relacionar com a classe 
abstrata III ¿ Um processamento pode- ser realizado diretamente por uma superclasse Componente, quando se 
trata de uma composição, e o processamento parcial é feito pela classe filha, montando todas as partes que 
compõem o objeto. 
 
 
 
As afirmativas estão todas corretas 
 
As afirmativas I, II, III estão incorretas 
 As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 
As afirmativas II, III estão corretas e a afirmativa I está errada. 
 As afirmativas I, III, estão corretas e II errada 
 
 
 
 4a Questão (Ref.: 201301123131) Pontos: 0,5 / 0,5 
Segundo Metsker, o padrão de projeto GoF _________________ é aplicado para substituir a geração de 
instâncias não-inicializadas de uma classe, fornecendo novos objetos a partir de uma classe-exemplo. 
 
 
 
FACTORY METHOD. 
 
BUILDER. 
 
SINGLETON. 
 
MEDIATOR. 
 PROTOTYPE. 
 
 
 
 5a Questão (Ref.: 201301131457) Pontos: 0,0 / 0,5 
Iterator :Fornecer uma maneira de acessar seqüencialmente os elementos de um objeto agregado sem expor 
sua implementação. (Gamma et al., 2000). Sobre este padrão de projetos podemos afirma com certeza: 
 
 
 
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais 
objetos, mas não deve ser usado quando associado a percorrer arrays ou tabelas. 
 Considerando objetos que implementam arrays, pode ser visto como uma classe intermediária de 
comunicação e gerenciamento, evitando que os objetos se comuniquem de forma direta 
 
É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais 
objetos 
 Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de 
implementação. 
 
tem uma grande facilidade de mudança de comportamento, pode-se alterar seu funcionamento sem que 
seja necessário nenhuma mudança nas demais classes envolvidas, desde que envolvam coleções e 
matrizes. 
 
 
 
 6a Questão (Ref.: 201301123551) Pontos: 0,5 / 0,5 
Sobre padrões de projeto selecione a opção correta sobre as afirmativas abaixo: I - Cada vez que uma boa 
solução for encontrada para um dado problema, a mesma deve ser lapidada, refinada e documentada para uso 
futuro. II - Padrões de projeto auxiliam projetistas e desenvolvedores a reutilizar soluções passadas, 
relacionadas com problemas são recorrentes em desenvolvimento de software. III ¿ Padrões de projeto são 
voltados para a resolução de problemas específicos, tornando os projetos orientados a objetos mais flexíveis, 
robustos e confiáveis. Iv ¿ Padrões de projeto não permitem a inovação tendo em vista que ¿engessam¿ a 
criatividade do desenvolvedor. 
 
 
 
As afirmativas I, II, III, IV estão corretas 
 As afirmativas I, II, III estão corretas e a afirmativa IV está errada. 
 
As afirmativas I, III, IV estão corretas e a afirmativa II está errada. 
 
As afirmativas I, II, IV estão corretas e a afirmativa III está errada. 
 
As afirmativas II, III, IV estão corretas e a afirmativa I está errada. 
 
 
 
 7a Questão (Ref.: 201301218372) Pontos: 0,0 / 1,5 
Decorator tem como principal objetivo a decoração de classes em tempo de execução, isto é, adicionar novos 
produtos e/ou novas responsabilidades à objetos dinamicamente sem alterar o código das classes existentes. 
Descreva um exemplo que represente esse padrão. 
 
 
 
Resposta: 
 
 
Gabarito: Em uma janela pode-se adicionar objetos como barras de rolagem, caixas de texto, labels, etc. Pode-
se criar uma classe JanelaDecorador que será estendida pelos decoradores que irão inserir propriedades na 
janela. Podendo incluir barra vertical, horizontal e para cada criar outra classe decorador, inserindo 
características novas. 
 
 
 
 8a Questão (Ref.: 201301141318) Pontos: 1,0 / 1,5 
Os métodos polimórficos utilizam os conceitos de overloading e overrinding. Apresente a diferença entre os dois 
conceitos. 
 
 
 
Resposta: No Overriding os métodos herdados são substituidos por novos métodos que atendam a determinada 
necessidade. 
 
 
Gabarito: O conceito OVERLOADING é a sobrecarga dos métodos: define vários métodos de mesmo nome com 
assinaturas diferentes. 
 
O conceito OVERRIDING altera o comportamento do método na subclasse, mantendo a mesma assinatura, com 
funcionalidade diferente. 
 
 
 
 9a Questão (Ref.: 201301132541) Pontos: 0,0 / 1,0 
Marque a alternativa que está relacionada ao padrão de projeto que é auxiliar a reduzir o impacto de 
modificações em uma aplicação. 
 
 
 Acoplamento fraco 
 Observador 
 
Especialista da informação 
 
Criador 
 
State 
 
 
 
 10a Questão (Ref.: 201301132604) Pontos: 1,0 / 1,0 
sobre o Polimorfismo considere a figura abaixo e selecione a reposta totalmente correta: 
 
 
 
 Define-se um método abstrato, em uma classe abstrata. Cada classe que herda a classe abstrata 
implementa o método físico. Dependendo da classe instanciada é executado o método correpondente. 
Isto é polimorfismo. 
 
Define-se vários métodos. Cada método deve ter uma estrutura IF...THEN...para cada situação. Isto é 
polimorfismo. 
 
Define-se uma estrutura de herança. Automaticamente fica definido uma estrutura de métodos. Isto é 
polimorfismo 
 
Define-se um método na classe PAI. Este método é copiado nas classes que herdam a classe PAI. Isto é 
polimorfismo. 
 
Define-se um método físico na classe PAI. Os métodos nas classes filho são definidos. Neste caso cada 
método é sobreposto. No caso de uma nova classe filho há necessidade obrigatória devido a estrutura 
PAI de se definir o método na nova classe. Isto é polimorfismo.

Continue navegando