Prévia do material em texto
Simulado de Padrões de Projeto 1. Os padrões de projeto são padrões que foram catalogados e que podem ser aplicados em projetos que tenham problemas similares. Uma questão importante trazida pelos padrões de projeto é: • (A) Atende apenas a questões de linguagens antigas como o COBOL. • (B) Nenhuma das anteriores. • (C) Reuso de ideias, soluções e algoritmo. • (D) Deixa o projeto mais lento e difícil de reusar. • (E) Não reuso de ideias. 2. No que diz respeito a padrões de projetos, assinale a alternativa que apresenta somente padrões estruturais: • (A) composite, decorator, singleton, template e proxy • (B) adapter, command, flyweight, observer e proxy • (C) bridge, command, flyweight, observer e singleton • (D) bridge, composite, decorator, facade e proxy • (E) adapter, bridge, command, decorator e template 3. Um padrão de criação utiliza métodos para criar objetos sem que o chamador precise especificar a classe exata desses objetos, e sem invocar seu construtor diretamente. Esse padrão é conhecido como: • (A) Proxy • (B) Bridge • (C) Composite • (D) Factory Method • (E) Facade 4. Assinale a alternativa que expressa a intenção do padrão de projeto Singleton: • (A) Garantir que uma classe tenha apenas uma instância em um processo de execução, impedindo que outros módulos possam instanciar diretamente essa classe. • (B) Permitir que um módulo utilize uma operação abstrata de criação de objetos definida em uma superclasse e implementada de forma específica em cada subclasse. • (C) Permitir a criação de famílias de produtos relacionados, de forma que o módulo cliente dependa apenas das interfaces genéricas desses produtos. • (D) Permitir a instanciação de um objeto a partir da clonagem de outro objeto já existente. • (E) Permitir que um único processo de construção possa instanciar diferentes representações de um objeto complexo. 5. "Implementar uma operação clone em cada produto concreto a ser instanciado, permitindo que um módulo cliente crie uma nova instância por meio da criação de uma réplica de um objeto já existente." Qual padrão define essa estratégia? • (A) Abstract Factory • (B) Factory Method • (C) Singleton • (D) Prototype • (E) Builder 6. Qual é o principal objetivo do padrão Iterator? • (A) Garantir a imutabilidade dos elementos de uma coleção. • (B) Facilitar a ordenação de elementos em uma coleção. • (C) Proporcionar um meio para acessar elementos de uma coleção sem expor sua estrutura interna. • (D) Acelerar a iteração sobre uma coleção. • (E) Permitir a criação de coleções com estruturas de dados complexas. 7. Segundo os princípios GRASP, qual é a principal responsabilidade da classe Controller (Controlador)? • (A) Representar os dados de um sistema. • (B) Realizar operações de cálculo e processamento intensivo. • (C) Armazenar e gerenciar o estado de objetos. • (D) Responder a eventos e coordenar o fluxo de controle. • (E) Encapsular a lógica de negócios. 8. O padrão Bridge é um padrão: • (A) estrutural que desacopla uma abstração de sua implementação para que os dois possam variar independentemente. • (B) de controle de objetos utilizado para garantir que determinada classe só tenha uma única instância e prover um ponto de acesso global a ela. • (C) de interação para prover uma maneira de acessar os elementos de um objeto agregado sequencialmente sem expor sua representação interna. • (D) de criação para instanciar famílias de objetos relacionados por meio de uma única interface e sem que a classe concreta seja especificada. • (E) comportamental destinado a armazenar o estado interno de um objeto em um dado momento para que seja possível retorná-lo a este estado. 9. No contexto de padrões GoF, qual padrão permite o encapsulamento de uma família de algoritmos e torná-los intercambiáveis em tempo de execução? • (A) Strategy • (B) Factory • (C) Singleton • (D) Builder • (E) Proxy 10. Qual é o objetivo principal do padrão Prototype? • (A) Copiar objetos de forma direta sem criar instâncias de classes. • (B) Reduzir o número de classes no código, simplificando a estrutura do programa. • (C) Permitir a criação de novas classes a partir de objetos existentes. • (D) Facilitar a criação de novos objetos de uma classe, evitando a necessidade de construtores. • (E) Possibilitar a clonagem de objetos sem criar subclasses específicas. Observação: Este documento é um material de estudo gerado pelo aluno. NÃO se trata de um documento oficial da instituição Estácio.