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: CLAUDIA ABREU PAES Turma: Nota da Prova: 2,0 Nota de Partic.: 1 Av. Parcial 2 Data: 13/06/2017 O aproveitamento da Avaliação Parcial será considerado apenas para as provas com nota maior ou igual a 4,0. 1a Questão (Ref.: 201501390207) Pontos: 0,0 / 1,0 Considerando que o padrão tem o objetivo de garantir que existe apenas uma instancia de uma certa classe a qualquer instante e em qualquer ponto de um sistema. Indique o padrão mencionado e cite uma vantagem de sua utilização. Resposta: Os padrões estruturais lidam com a composição de classes ou objetos. Gabarito: padrão singleton uma vantagem apontada é o desempenho de uma aplicação. 2a Questão (Ref.: 201501313126) Pontos: 0,0 / 1,0 Baixo acoplamento é um princípio-chave na Orientação objetos. O que deve ser feito para garantir o baixo acoplamento na definição dos objetos/classe/subsistema/sistema. Resposta: Através do método GOF, podemos instanciar os objetos definindo as classes mútuas de um subsistema ou sistema, derivando assim de baixo acoplamento. Gabarito: Deve-se manter os objetos/classe/subsistema/sistema o mais independente possível, ou seja, não possui conhecimento sobre o outro ou confia em outro. 3a Questão (Ref.: 201501294947) Pontos: 0,0 / 1,0 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. Builder. Factory Method. Facade. Singleton. Mediator 4a Questão (Ref.: 201501295413) Pontos: 0,0 / 1,0 javascript:alert('Nota%20aferida%20por%20%20em%2020/06/2017.'); javascript:alert('Nota%20aferida%20por%20%20em%2020/06/2017.'); javascript:alert('Ref. da quest%C3%A3o: 201501390207/n/nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('Ref. da quest%C3%A3o: 201501313126/n/nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('Ref. da quest%C3%A3o: 201501294947/n/nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('Ref. da quest%C3%A3o: 201501295413/n/nStatus da quest%C3%A3o: Liberada para Uso.'); Assinale a afirmativa correta sobre o padrão Builder: é 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. 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. 5a Questão (Ref.: 201501878142) Pontos: 1,0 / 1,0 Um compositor musical deseja criar uma hierarquia de classes para representar a estrutura das suas notas musicais. Em primeiro lugar, definiu uma classe abstrata chamada Melodia, a seguir, criou duas classes derivadas, uma chamada Nota e outra chamada Partitura. Cada Nota musical representa o elemento mínimo de uma Melodia e cada Partitura é formada por uma ou mais notas. Marque a alternativa que representa o melhor padrão de projeto para modelar este problema. Adapter Façade Composite Bridge Proxy 6a Questão (Ref.: 201501785269) Pontos: 0,0 / 1,0 Que padrão estrutural usa compartilhamento para suportar um grande número de pequenos objetos de forma eficiente. Bridge Composite Decorator Facade Flyweight javascript:alert('Ref. da quest%C3%A3o: 201501878142/n/nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('Ref. da quest%C3%A3o: 201501785269/n/nStatus da quest%C3%A3o: Liberada para Uso.'); 7a Questão (Ref.: 201501305970) Pontos: 0,5 / 0,5 (CESGRANRIO - 2008) Muitos frameworks utilizam um padrão de projeto (design pattern) que se baseia no princípio de projeto "Não nos chame, nós iremos chamar você" (O Princípio de Hollywood: "Don't call us, we'll call you."). Uma classe da aplicação herda de uma classe do framework que possui métodos abstratos, os quais são chamados em outros métodos concretos. A classe da aplicação sobrepõe os métodos abstratos da classe do framework com métodos concretos, permitindo que os métodos concretos da classe do framework sejam chamados. O padrão de projeto (design pattern) em questão chama-se Strategy. Singleton. Abstract Factory. Template Method. Decorator. 8a Questão (Ref.: 201501306640) Pontos: 0,0 / 0,5 (FGV - 2009) Os padrões de projeto orientados a objeto podem ter finalidade de criação, estrutural ou comportamental. Os padrões de criação se preocupam com o processo de criação de objetos. Os padrões estruturais lidam com a composição de classes ou de objetos. Os padrões comportamentais caracterizam as maneiras pelas quais classes ou objetos interagem e distribuem responsabilidades. Assinale a alternativa que apresenta apenas padrões de projeto comportamentais. Prototype, Abstract Factory e Builder. Singleton, Composite e Interpreter. Mediator, Interpreter e Command. Composite, Decorato e Proxy. Proxy, Builder e Mediator. 9a Questão (Ref.: 201501304365) Pontos: 0,0 / 0,5 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 é conservar as funcionalidades em não se permita adicionar novas, E obriga que haja necessidade de alterar sua implementação 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. 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. 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. javascript:alert('Ref. da quest%C3%A3o: 201501305970/n/nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('Ref. da quest%C3%A3o: 201501306640/n/nStatus da quest%C3%A3o: Liberada para Uso.'); javascript:alert('Ref. da quest%C3%A3o: 201501304365/n/nStatus da quest%C3%A3o: Liberada para Uso.'); 10a Questão (Ref.: 201501304570) Pontos: 0,5 / 0,5 O padrão Variações protegidas tem como característica: 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. é 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. É um principio básico para fornecer flexibilidade e proteção contra diversos tipos de variações em um projeto orientadoa objetos, tais como: variações nos dados, comportamento, hardware, componentes de software, sistemas operacionais, entre outros. 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. 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. javascript:alert('Ref. da quest%C3%A3o: 201501304570/n/nStatus da quest%C3%A3o: Liberada para Uso.');
Compartilhar