Baixe o app para aproveitar ainda mais
Prévia do material em texto
Avaliando o aprendizado – Padrões de Projeto de Software 1a Questão (Ref.: 201302005617) Pontos: 0,1 / 0,1 Analise as sentenças abaixo sobre os grupos de padrões da família GoF e, em seguida, assinale a alternativa correta: I. Os Padrões Comportamentais são projetados para organizar, gerenciar e combinar diferentes comportamentos. Podemos citar os seguintes padrões pertencentes a esse grupo: Chain of Responsibility, Command e Interpreter. II. Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões estáticas para escolher, por exemplo, quais objetos instanciar ou a quais classes delegar responsabilidade. São doze os padrões de criação: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy, Abstract Factory, Builder, Factory Method, Prototype e Singleton. III. Os Padrões Estruturais definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua. Apenas a sentença II está correta Apenas as sentenças I e II estão corretas Apenas as sentenças II e III estão corretas Apenas as sentenças I e III estão corretas Todas as sentenças estão corretas 2a Questão (Ref.: 201302554599) Pontos: 0,1 / 0,1 O Design Patterns que tem a finalidade de usar compartilhamento para suportar grandes quantidades de objetos, de granularidade fina, de maneira eficiente, é denominado Strategy State Flyweight Builder Composite 3a Questão (Ref.: 201302554611) Pontos: 0,1 / 0,1 Para facilitar a manutenção da aplicação, há um design pattern que tem como objetivo principal centralizar o acesso aos dados em uma única camada. Esse design pattern é o DTO Business Object Application Service MVC DAO 4a Questão (Ref.: 201301998092) Pontos: 0,1 / 0,1 Considere as afirmativa abaixo sobre o padrão Builder: I ) É utilizado na instanciação de objetos complexos. II)É visto como um construtor especializado, que irá executar e avaliar diferentes regras de negócio e demais particularidades relacionadas com a criação de um novo objeto. III )A idéia é atribuir a responsabilidade de criação do objeto complexo a outra classe, esta classe irá armazenar todas as configurações e regras necessárias para a instanciação do novo objeto. As afirmativas I, III, estão corretas e II errada 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 estão todas corretas As afirmativas I, II, III estão incorretas 5a Questão (Ref.: 201301998101) Pontos: 0,1 / 0,1 Programadores se deparam muitas vezes com a situação onde é preciso acrescentar responsabilidades a objetos e não a classe. Uma alternativa é atribuir dinamicamente a um dado objeto. Este padrão é chamado de: Decorator. Singleton protype Instance Bridge 1a Questão (Ref.: 201302487941) Pontos: 0,1 / 0,1 Que padrão estrutural provê um ponto de atendimento para que outro objeto possa controlar o acesso ao primeiro: Facade Proxy Flyweight Adapter Decorator 2a Questão (Ref.: 201301997670) Pontos: 0,1 / 0,1 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. BUILDER. FACTORY METHOD. PROTOTYPE. SINGLETON. 3a Questão (Ref.: 201301997639) Pontos: 0,1 / 0,1 Segundo Metsker, 2004, o padrão de projeto ______________ tem como solução mover a lógica de construção de uma classe para um objeto externo, a fim de reduzir a complexidade da mesma e permitir a construção gradual de objetos-alvo a partir dessa classe. Escolha uma das alternativas abaixo que preenche corretamente a lacuna apresentada na descrição acima. BUILDER. MEDIATOR. FACTORY METHOD. FACADE. SINGLETON. 4a Questão (Ref.: 201301997646) Pontos: 0,1 / 0,1 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. FACADE. SINGLETON. BUILDER. FACTORY METHOD. 5a Questão (Ref.: 201302486688) Pontos: 0,1 / 0,1 ¿Os padrões de criação abstraem o processo de instanciação. Um padrão de criação de classe usa a herança para variar a classe que é instanciada, enquanto que um padrão de criação de objeto delegará a instanciação para outro objeto.¿ Padrões Projeto, 1º edição/2000.Gamma. Segundo Metsker, 2004, o padrão de projeto _____________________ tem como solução mover a lógica de construção de uma classe para um objeto externo, a fim de reduzir a complexidade da mesma e permitir a construção gradual de objetos-alvo a partir dessa classe. Escolha uma das alternativas abaixo que preenche corretamente a lacuna apresentada na descrição acima. Factory Method Builder Abstract Factory Facade Singleton 1a Questão (Ref.: 201302009291) Pontos: 0,1 / 0,1 (CESPE 0 2007) Considerando a figura, que apresenta um diagrama de relacionamento entre os padrões de projeto descritos no livro GoF Book, julgue os próximos itens acerca dos conceitos de programação orientada a objetos e padrões de projetos orientados a objetos. I A implementação de padrões de projeto criacionais em linguagens como C#, Delphi e Java sempre envolverá a alocação de memória para a criação de objetos. II A implementação de montadores de árvores sintáticas apóia-se mais no uso do padrão Singleton que no uso do padrão Composite. III A implementação de tratadores de eventos de interface gráfica apóia-se mais no uso do padrão Observer que no uso do padrão Visitor. IV A implementação de famílias portáveis de componentes de interface gráfica depende mais do emprego do padrão Chain of Responsibility que do padrão AbstractFactory. V O padrão TemplateMethod é mais simples que o padrão Memento. Estão certos apenas os itens II, III e V. I, II e IV. II, III e IV. I, IV e V. I, III e V. 2a Questão (Ref.: 201301997616) Pontos: 0,1 / 0,1 Coesão e acoplamento são dois conceitos fundamentais para a qualidade do projeto modular de um software. A coesão diz respeito à funcionalidade dos módulos que compõem o software e é relacionada ao conceito de ocultação de informação. O acoplamento está relacionado aos dados e representa a interconexão entre os módulos. Suponha que determinado sistema possa ter a arquitetura de seus módulos projetada por meio das duas alternativas diferentes mostradas na figura abaixo, sendo a funcionalidade de um módulo a mesma nas duas alternativas. Nessa figura, os retângulos representam os módulos e as arestas representam chamadas a funcionalidades de outros módulos. A partir dessas informações, assinale a opção correta. Em relação à alternativa 1, na alternativa 2, a coesão do módulo A é menor, a dos módulos B e C é maior e o acoplamento do projeto é maior. Em relação à alternativa 1, na alternativa 2, a coesão do módulo A é maior, a dos módulos B e C é maior e o acoplamentodo projeto é menor. Em relação à alternativa 1, na alternativa 2, a coesão do módulo A é menor, a dos módulos B e C é maior e o acoplamento do projeto é menor. Em relação à alternativa 1, na alternativa 2, a coesão do módulo A é maior, a dos módulos B e C é menor e o acoplamento do projeto é maior. A coesão e o acoplamento de todos os módulos são iguais nas duas alternativas. 3a Questão (Ref.: 201302009310) Pontos: 0,1 / 0,1 (CESGRANRIO-2011) Relacione os padrões de projeto às suas indicações de uso. I - Ponte II - Observador III - Decorador P - Mostra como adicionar responsabilidades aos objetos dinamicamente. Q - Separa a abstração de um objeto de sua implementação. R - Define e mantém dependência entre objetos. S - Define um objeto que encapsula como um conjunto de objetos que interagem. As associações corretas são: I - S , II - R , III - Q I - P , II - Q , III - R I - R , II - P , III - S I - Q , II - P , III - S I - Q , II - R , III - P 4a Questão (Ref.: 201302007050) Pontos: 0,1 / 0,1 considere a definição: Observer: Definir uma dependência um-para-muitos entre objetos para que quando um objeto mudar de estado, todos os seus dependentes sejam notificados e atualizados automaticamente. (Gamma et al., 2000). Qual das alternativas é completamente verdadeira? 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 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 é 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 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 5a Questão (Ref.: 201302007125) Pontos: 0,1 / 0,1 sobre o Polimorfismo considere a figura abaixo e selecione a reposta totalmente correta: Define-se uma estrutura de herança. Automaticamente fica definido uma estrutura de métodos. Isto é polimorfismo Define-se um método na classe PAI. Este método é copiado nas classes que herdam a classe PAI. 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 vários métodos. Cada método deve ter uma estrutura IF...THEN...para cada situação. 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. 1a Questão (Ref.: 201302005643) Pontos: 0,1 / 0,1 Relacione os padrões de projetos listados abaixo com suas respectivas finalidades: PADRÕES DE PROJETO 1. Facade (fachada) 2. Decorator (decorador) 3. Memento (lembrança) 4. Proxy (procurador) 5. Observer (observador) FINALIDADES ( ) Define uma dependência um para muitos entre objetos tal que, quando o estado de um objeto muda, todos os seus dependentes são notificados e atualizados automaticamente. ( ) Fornece uma interface unificada para um conjunto de objetos que constituem um subsistema. Define uma interface de mais alto nível que torna o subsistema mais fácil de usar. ( ) Sem violar o encapsulamento, captura e exterioriza o estado interno de um objeto, tal que o objeto possa ser restaurado a este estado mais tarde. ( ) Acrescenta responsabilidades adicionais a um objeto dinamicamente. Fornece uma alternativa flexível para a extensão de funcionalidade. ( ) Controla o acesso a um objeto através de outro objeto, que atua como seu substituto, ou como um envoltório. Assinale a alternativa que indica a sequência correta, de cima para baixo. 5 - 1 - 3 - 2 - 4 1 - 5 - 3 - 4 - 2 5 - 1 - 3 - 4 - 2 3 - 5 - 1 - 4 - 2 3 - 1 - 5 - 2 - 4 2a Questão (Ref.: 201302005617) Pontos: 0,1 / 0,1 Analise as sentenças abaixo sobre os grupos de padrões da família GoF e, em seguida, assinale a alternativa correta: I. Os Padrões Comportamentais são projetados para organizar, gerenciar e combinar diferentes comportamentos. Podemos citar os seguintes padrões pertencentes a esse grupo: Chain of Responsibility, Command e Interpreter. II. Os Padrões de Criação fornecem um guia de como instanciar objetos. Esta ação normalmente envolve decisões estáticas para escolher, por exemplo, quais objetos instanciar ou a quais classes delegar responsabilidade. São doze os padrões de criação: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy, Abstract Factory, Builder, Factory Method, Prototype e Singleton. III. Os Padrões Estruturais definem caminhos comuns para a organização de diferentes tipos de objetos, facilitando sua integração e colaboração mútua. Apenas as sentenças I e III estão corretas Todas as sentenças estão corretas Apenas as sentenças I e II estão corretas Apenas as sentenças II e III estão corretas Apenas a sentença II está correta 3a Questão (Ref.: 201302005977) Pontos: 0,1 / 0,1 As principais aplicabilidades do padrão command de projeto são: I) permitir fácil inclusão de novos comandos; II) permitir tratamento de requisições concorrentes, manter histórico de execução de comandos; III) suportar operações para desfazer comandos e; IV) evitar o acoplamento direto entre classes e serviços. Podemos a firmar com certeza que: As afirmativas I, II, III e IV estão corretas. As afirmativas I, III, IVestão corretas e II errada. As afirmativas I, II, IV estão corretas e a afirmativa III está errada. As afirmativas II, III ,IVestão corretas e a afirmativa I está errada. As afirmativas I, II, III estão erradas e IV correta. 4a Questão (Ref.: 201302007228) Pontos: 0,1 / 0,1 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? Variações Protegidas Polimorfismo Controlador Invenção Pura Indireção 5a Questão (Ref.: 201302007231) Pontos: 0,1 / 0,1 Marque a alternativa que representa o padrão GRASP que está relacionada com a seguinte questão: Como distribuir responsabilidades buscando alcançar Coesão Alta ou Acoplamento Baixo? Indireção variações protegidas Invenção Pura polimorfismo controlador
Compartilhar