Baixe o app para aproveitar ainda mais
Prévia do material em texto
BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his... 1 de 4 05/09/2012 09:45 Detalhes Avaliação: CCT0152_AV2_201001483171 Tipo de Avaliação: AV2 Aluno: Professor: CLAUDIA ABREU PAES Turma: 9001/AA Nota da Prova: 6,5 de 8,0 Nota do Trabalho: Nota de Participação: 1,5 Data: 01/09/2012 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: 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, mas não deve ser usado quando associado a percorrer arrays ou tabelas. Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação. É bastante utilizado em programação de sistemas para gerenciar a comunicação entre dois ou mais objetos 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. considere a definição: Visitor: Representar uma operação a ser realizada nos elementos de uma estrutura de objetos. Visitor permite que você defina uma nova operação sem alterar as classes dos elementos nos quais a operação atua (Gamma et al., 2000). Qual das alternativas é completamente verdadeira? O principal objetivo do padrão acima é permitir que sejam adicionadas novas funcionalidades a classes previamente concebidas, sem que haja necessidade de alterar sua implementação. A idéia principal do padrão acima é implementar diferentes algoritmos em uma hierarquia de classes, onde cada um deles pode ser substituído por outro, independente do cliente que o utiliza. O padrão de projeto acima é indicado para ser utilizado quando uma abstração tem dois aspectos, um dependente do outro. Encapsular tais aspectos em objetos separados permite que variem e sejam reusados separadamente; O padrão de projeto acima deve ser utilizado não somente quando o comportamento de um objeto depende do seu estado, podendo ser alterado em tempo de execução, mas também quando a funcionalidade de um objeto possui condicionais grandes. O principal objetivo do padrão acima é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação Coesão alta, controlador e polimorfismo Coesão alta, polimorfismo, visitor 1.) ITERATOR 6 a sem. Pontos: 1 , 0 / 1 , 0 2.) VISITOR 7 a sem. Pontos: 1 , 0 / 1 , 0 3.) GRASP 8 a sem. Pontos: 0 , 5 / 0 , 5 Marque a alternativa que apresenta apenas padrões G RASP? Observer, visitor, strategy Controlador, polimorfismo e Memento Coesão alta, controlador, strategy BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his... 2 de 4 05/09/2012 09:45 polimorfismo. Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte questão: A quem atribuir responsabilidades para evitar acoplamento direto entre objetos? Indireção Variações Protegidas Invenção Pura Controlador Polimorfismo Assinale a afirmativa correta sobre o padrão Builder: 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 4.) POLIMORFISMO 9 a sem. Pontos: , 0 0 / 5 , 0 sobre o Polimorfismo considere a figura abaixo e se lecione a reposta totalmente correta: 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 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. 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 um método na classe PAI. Este método é copiado nas classes que herdam a classe PAI. Isto é 5.) GRASP 10 a sem. Pontos: 0 , 0 / 0 , 5 6.) AFIRMATIVA 2 a sem. Pontos: 0 , 5 / 0 , 5 BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his... 3 de 4 05/09/2012 09:45 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. 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. A legibilidade da solução final, ou seja, para entender como um objeto é criado e sob quais condições, fica comprometida Conhecido como padrões da gangue dos quatro, por terem sido desenvolvidos por quatro autores, os Padrões GoF (Group of Four) estão divididos pelos seguintes famílias de padrões: Padrões de Criação ou de Construção, Padrões Estruturais e Padrões Comportamentais. Considerando os padrões de Criação ou de Construção, analise o modelo abaixo e em seguida marque a alternativa que define a representação. Mediator. Factory Method. Builder. Singleton. Facade. 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, III, estão corretas e II errada As afirmativas II, III estão corretas e a afirmativa I está errada. As afirmativas I, II, III estão incorretas As afirmativas estão todas corretas As afirmativas I, II, estão corretas e a afirmativa III está errada. Seguindo os princípios Especialista da Informação qual o critério deve ser adotado na escolha de uma classe para receber uma nova responsabilidade? Resposta: deixa a reposabilidade ao especilista da informação - a classe para atribuir a resposabilidade 7.) PADRÃO GOF 4 a sem. Pontos: 0 , 5 / 0 , 5 8.) INTERPRETER 5 a sem. Pontos: 0 , 0 / 0 , 5 9.) ESPECIALISTA DA INFORMAÇÃO 11 a sem. Pontos: 1 , 5 / 1 , 5 BDQ Prova http://www.bquestoes.estacio.br/prova_resultado_preview.asp?cod_his... 4 de 4 05/09/2012 09:45 Os métodos polimórficos utilizam os conceitos deoverloading e overrinding. Apresente a diferença entre os dois conceitos. Resposta: overloading - sobrecarga - utiliza varios metodos com o mesmo nome e com parementos diferentes overrinding - sobreescrita - utiliza o mesmo metodo com o mesmo nome e com os mesmos paramentos anulando o anterior - aqui que se faz mesmo o polimórfismo. 10.) POLIMORFISMO 13 a sem. Pontos: 1 , 5 / 1 , 5
Compartilhar