Buscar

AV Padrões de Projeto de Software 2014.1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Fechar
 
 
Avaliação: CCT0265_AV_201201777682 » PADRÕES DE PROJETO DE SOFTWARE 
Tipo de Avaliação: AV 
Aluno: 
Professor: HORACIO DA CUNHA E SOUZA RIBEIRO Turma: 9003/AC 
Nota da Prova: 8,0 Nota de Partic.: 2 Data: 07/06/2014 15:06:20 
 
 1a Questão (Ref.: 201202058030) Pontos: 1,5 / 1,5 
O uso de classes "statics" garante que somente uma instãncia estará em memória e que a destruição pelo 
"garbage collection" será mais rápida do que o uso do padrão singleton. Por que então devemos usar o padrão 
singleton? 
 
 
 
Resposta: Porque o padrão singleton mantém a classe instanciada na memória durante toda execução de um 
determinado programa. 
 
 
Gabarito: Porque uma classe ¿static¿ SEMPRE é carregada na memória quando a aplicação é executada e a 
classe singleton não, sendo carregada na memória quando solicitada a primeira instância. 
 
 
 2a Questão (Ref.: 201201980996) Pontos: 1,5 / 1,5 
Ter uma baixa coesão nos objetos do sistema pode gerar difícil compreensão e reutilização, além de afetar a 
manutenibilidade. O que é ter baixa coesão ? 
 
 
 
Resposta: Ter baixa coesão é a criação de métodos, funções e objetos desnecessários em um determinado 
projeto;"É como fazer círculos quando se quer ir em uma direção";Uso de passos em excesso para se 
determinar alguma atividade fim em um projeto quando poderia ter algo mais polido e organizado. 
 
 
Gabarito: É quando se tem uma mesma classe executando muitos trabalhos, realizando muitas coisas não 
relacionadas. 
 
 
 3a Questão (Ref.: 201201971116) Pontos: 0,5 / 0,5 
Command : Encapsula uma solicitação como um objeto, permitindo a parametrização de clientes com diferentes 
solicitações, o enfileiramento e o registro de solicitações e o suporte a operações que possam ser desfeitas. 
(Gamma et al., 2000). Sobre ele podemos afirmar com toda a certeza: 
 
 
 
esta abordagem é que o objeto que está realizando a chamada do método precisa conhecer com detalhes 
sobre seu funcionamento. 
 
Este padrão de projeto oferece pouca flexibilidade na arquitetura do sistema, uma vez que não permite 
adição de novas funcionalidades 
 O objetivo do padrão de projeto Command é encapsular chamadas de métodos. 
 
Nesta abordagem o objeto que está realizando a chamada do método precisa conhecer com detalhes a 
implementação em relação asparente ao local, tempo e ao objeto que vai realizar uma determinada 
tarefa 
 Os métodos, nesta abordagem devem ser padronizados e hierarquizados de forma que a implementação 
trabalhe novos objetos. 
 
 
 4a Questão (Ref.: 201201972215) Pontos: 1,0 / 1,0 
considere as classes e métodos abaixo: E escolha a opção correta sobre a gravura: E escolha a opção correta 
sobre a gravura: 
 
sobre o acoplamento e coesão : 
 
 
 
O método void imp_NF (cod) poderia ser implementado na classe NF sem envolver mais nenhuma classe. 
Não tendo outros médotos o acoplamento não existiria o que é o desejável. 
 Existem acoplamentos das classes que foram gerados de forma desnecessária pois poderiam ser 
incorporados em um único método e isto iria facilitar a manutenção e o entendimento. 
 
método void imp_NF (cod) não deve ser implementado na classe NF. Obteria-se um projeto melhor se NF 
fosse acoplada a classe Cliente seus métodos incorporados na classe cliente. Pode-se garantir um melhor 
acoplamento 
 
Existem acoplamentos que poderiam ser evitados, considerando apenas o diagrama, assim o método de 
imprimir nota fiscal, dando-se o código de cliente, pode ser mapeado de forma diferente melhorando-se 
o acoplamento. 
 Existem acoplamentos das classes cliente e Nota fiscal. E Nota fiscal e Item de Nota fiscal. Esta forma de 
acoplamento é caracterizado por chamada de métodos. 
 
 
 5a Questão (Ref.: 201201963235) Pontos: 0,5 / 0,5 
Assinale a afirmativa correta sobre o padrão Builder: 
 
 
 
A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, 
fica comprometida 
 
Deve-se é separar no construtor da própria classe a lógica para criação de um objeto e concentrar a 
lógica de criação em uma hierarquia de herança. 
 Deve-se é embutir no construtor da própria classe a lógica para criação de um objeto ou ainda distribuir 
a lógica de criação em vários métodos adicionais. 
 
é uma abordagem que não facilita a criação de objetos com diferentes configurações e representações, 
tornando o código dependente a complexidade das classes relacionadas 
 Um dos principais objetivos do padrão Builder é separar o algoritmo de criação de um objeto complexo 
tanto da especificação, quanto das partes que o compõem. 
 
 
 6a Questão (Ref.: 201201963225) Pontos: 0,5 / 0,5 
Uma das categoria que tradicionalmente se classificam os padrões de projeto :Padrões Estruturais cujo objetivo 
é: 
 
 
 Define a forma de organização dos objetos e sua colaboração mutua 
 
Define formas de gerencia e combinar diferentes comportamentos. 
 
Defende formas de instanciar objetos delegando responsabilidades 
 
Define como implantar um novo método em uma classe. 
 
Define como implantar o mecanismo de herança em um grupo de objetos 
 
 
 7a Questão (Ref.: 201201963238) Pontos: 0,5 / 0,5 
O padrão de projeto Singleton é um dos padrões mais conhecidos e extensivamente utilizados em programação 
orientada a objetos. Sobre ele podemos afirmar I - Está direcionado para as situações onde precisamos manter 
uma única instancia de uma classe durante toda a execução da aplicação. II - A sua estrutura é bastante 
simples, existe apenas uma classe chamada Singleton, que define um método chamado Instance, responsável 
poder retornar aos clientes à única instancia da classe. III ¿ Na linguagem Java os modificadores states e 
private devem garantir uma mesma instância para todos os objetos criados e evitar acesso público; 
 
 
 
As afirmativas I, II, III estão incorretas 
 
As afirmativas II, III estão corretas e a afirmativa I está errada. 
 As afirmativas estão todas corretas 
 
As afirmativas I, III, estão corretas e II errada 
 As afirmativas I, II, estão corretas e a afirmativa III está errada. 
 
 
 8a Questão (Ref.: 201201962769) Pontos: 0,5 / 0,5 
Em padrão de projeto existe uma situação onde uma classe chama um método abstrato especificado em alguma 
classe abstrata (ou interface) e a subclasse concreta vai decidir que tipo exato de objeto criar e retornar. 
 
Baseado nessa descrição marque a alternativa que aponta o padrão relacionado. 
 
 
 
Mediator 
 
Builder. 
 
Facade. 
 Singleton. 
 Factory Method. 
 
 
 9a Questão (Ref.: 201201963245) Pontos: 0,5 / 0,5 
O padrão de projeto Intepreter descreve como projetar um conjunto de classes para representar e interpretar 
uma gramática para linguagens simples.: I - Sua aplicação é recomenda naquelas situações em que há 
necessidade de interpretar uma linguagem qualquer e, ao mesmo tempo, quando se quer representar sentenças 
da linguagem, como árvores abstratas sintáticas. Ii - É importante destacar que o termo ¿linguagem¿, na 
definição desse padrão, é bastante ampla, não estando restrita apenas a linguagens de programação Iii - . A 
estrutura do padrão Interpreter sugere uma modelagem realizada através de uma gramática mapeada em uma 
arvore hierárquica em que cada cada regra gramatical é um nível na arvore, e pode ser usada para interpretar 
as sentenças varrendo toda a árvore e finalização do problema. 
 
 
 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 
 As afirmativas estão todas corretas 
 
As afirmativas I, II, III estão incorretas 
 
 
 10a Questão(Ref.: 201201973807) Pontos: 1,0 / 1,0 
(CESGRANRIO - 2008) Ao alterar o estado de uma classe, o desenvolvedor deseja que uma ou mais classes da 
interface gráfica sejam modificadas. Entretanto, o desenvolvedor não acha interessante criar um acoplamento 
forte entre essas classes. Qual padrão de projeto comportamental é mais adequado para resolver essa situação? 
 
 
 Decorator. 
 
Abstract Factory. 
 
Adapter. 
 Observer. 
 
Composite.

Outros materiais