Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliação:PADRÕES DE PROJETO DE SOFTWARE Tipo de Avaliação: AV Aluno: Professor: HORACIO DA CUNHA E SOUZA RIBEIRO Turma: 9001/AA Nota da Prova: 6,5 Nota de Partic.: 1,5 Data: 18/06/2015 08:54:11 1a Questão (Ref.: 201301679573) Pontos: 0,5 / 0,5 Um design pattern descreve uma solução geral comprovada e reutilizável para um problema recorrente no desenvolvimento de sistemas de software orientados a objetos. Padrões de projeto ajudam a reconhecer e implementar boas soluções para problemas comuns. Dois dos principais design patterns utilizados atualmente são descritos a seguir: I. Visa garantir que uma classe só tenha uma única instância e prover um ponto de acesso global a ela. II. Visa definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de estado os seus dependentes sejam notificados e atualizados automaticamente. Os design patterns descritos em I e II são, respectivamente: Singleton e Observer. Singleton e Command. Composite e Adapter Facade e Adapter. Facade e Observer. 2a Questão (Ref.: 201301122619) 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. SINGLETON. BUILDER. PROTOTYPE. FACTORY METHOD. MEDIATOR. 3a Questão (Ref.: 201301093057) Pontos: 0,5 / 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. as duas afirmações são verdadeiras, e a segunda justifica a primeira. As duas afirmações são falsas a primeira afirmação é verdadeira, e a segunda é falsa. as duas afirmações são verdadeiras, e a segunda não justifica a primeira. 4a Questão (Ref.: 201301093056) Pontos: 0,5 / 0,5 Para fazer a modelagem de um padrão de projeto (design pattern) utilizando a UML é DESNECESSÁRIO. identificar as soluções específicas e particulares para o problema básico e reificá-la como um mecanismo. entender o padrão de projeto como uma colaboração representada com suas partes estruturais e comportamentais. 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. identificar as soluções comuns para o problema básico. fazer a modelagem do mecanismo como uma colaboração, fornecendo seus aspectos estruturais, assim como os aspectos comportamentais. 5a Questão (Ref.: 201301122595) Pontos: 0,5 / 0,5 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. Singleton. Builder. Facade. 6a Questão (Ref.: 201301132219) Pontos: 1,0 / 1,0 O padrão Variações protegidas tem como característica: é o primeiro objeto além da camada de interface com o usuário que é responsável por receber ou tratar uma mensagem de operação do sistema. implica que um componente ou classe encapsule somente os atributos e operações muito relacionadas a si e com a classe do componente ou classe propriamente dito. Sugere atribuir um conjunto de responsabilidades altamente coesa a uma classe artificial ou de conveniência que não represente o domínio do problema, algo inventado, para apoiar coesão alta, acoplamento baixo e reuso. O objetivo é atribuir responsabilidade a um objeto intermediário para servir como mediador entre outros componentes ou serviços, para que eles não sejam diretamente acoplados. É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientado a objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros. 7a Questão (Ref.: 201301130945) 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: Oferece uma forma de percorrer este tipo de objeto agregado sem conhecer seus detalhes de implementação. 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. É 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. 8a Questão (Ref.: 201301217860) Pontos: 1,5 / 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: Em uma janela pode se adicionar barras de rolagens, caixa de textos, etc. Pode-se criar uma classe JanelaDecorator que sera extendida pelos decoradores, que irão inserir propriedades a janela 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. 9a Questão (Ref.: 201301133625) Pontos: 0,0 / 1,0 ( CESGRANRIO - 2008) "Classes devem estar abertas para extensão e fechadas para modificação" é um princípio de projeto de modelos orientados a objetos. Tal princípio pode ser aplicado através do padrão de projeto singleton. flyweight. builder. prototype. decorator. 10a Questão (Ref.: 201301140786) Pontos: 1,5 / 1,5 O polimorfismo é um princípio GRASP que aumenta o nível de baixo acoplamento e alta coesão. Apresente uma forma de utilização. Resposta: Criar metodos abstratos em classes genericas e herdavel que são referenciadas por classes relacionadas caracterizando um acoplamento desta interface. Gabarito: Criar métodos abstratos em classes genéricas e herdável que são referenciados por classes relacionadas, caracterizando um acoplamento desta interface. Período de não visualização da prova: desde 12/06/2015 até 25/06/2015.
Compartilhar