Baixe o app para aproveitar ainda mais
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.
Compartilhar