SóProvas


ID
1689811
Banca
NC-UFPR
Órgão
COPEL
Ano
2015
Provas
Disciplina
Arquitetura de Software
Assuntos

Com relação a Design Patterns, sob a ótica do GoF (Gang of Four), identifique as afirmativas a seguir como verdadeiras (V) ou falsas (F):

( ) Composite = Compor objetos em estruturas de árvore (hierarquias todo-parte), permitindo tratar objetos individuais e composições de maneira uniforme.

( ) Bridge = Desacoplar uma abstração de sua implementação para que as duas partes possam variar independentemente.

( ) Proxy = Prover um substituto ou ponto de acesso através do qual um objeto possa controlar/delegar o acesso a outro.

( ) Flyweight = Compartilhar partes comuns dos objetos, permitindo suportar eficientemente grandes quantidades de objetos refinados.

Assinale a alternativa que apresenta a sequência correta, de cima para baixo.

Alternativas
Comentários
  • Classificação:


    1) Padrões Comportamentais: maneiras pelas quais classes e objetos interagem e distribuem responsabilidades.

    * Strategy: define uma família de algoritmos, encapsula cada um, e faz deles intercambiáveis.
    * Chain of Responsibility: encadeia os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate.
    * Iterator: acessar sequencialmente os elementos de um objeto.
    * State: permite que um objeto mude o seu comportamento quando o seu estado interno mudar.
    * Command: encapsula uma requisição como um objeto, deixando-o parametrizar clientes com diferentes requisições.
    * Observer: quando um objeto muda de estado, todos os seus dependentes são notificados e atualizados automaticamente.
    * Visitor: representa uma operação a ser executada sobre os elementos da estrutura de um objeto.
    * Memento: captura e externaliza o estado interno de um objeto, de forma que ele possa ser recuperado depois.
    * Mediator: encapsula a forma como um conjunto de objetos interage.
    * Template Method: esqueleto de um algoritmo em uma operação, deferindo alguns passos para as subclasses.
    * Interpreter: dada uma linguagem, define uma representação para sua gramática juntamente com um interpretador para as sentenças dessa linguagem.

    2) Padrões Criacionais: processo de criação de objetos:
    * Abstract Factory: interface para criar famílias de objetos relacionados.
    * Builder: criação de objeto complexo com representações diferentes, construindo partes de objetos passo a passo.
    * Factory Method: define uma interface para criar um objeto, mas deixa as subclasses decidirem qual classe instanciar.
    * Prototype: cria objetos usando uma instância prototípica (clone).
    * Singleton: garante que uma classe possua apenas uma única instância e provê um ponto de acesso global a ela.
    3) Padrões Estruturais: composição de classes e objetos:
    * Adapter: converte a interface de uma classe em outra.
    * Bridge: desacopla uma interface de sua implementação.
    * Composite: compõe zero ou mais objetos similares de forma que eles possam ser manipulados como um só (montagem de árvore).
    * Decorator: anexa responsabilidades adicionais a um objeto dinamicamente.
    * Proxy: substituto ou ponto de acesso através do qual um objeto possa controlar o acesso a outro.
    * Façade: interface unificada para um conjunto de interfaces de um subsistema.
    * Flyweigth: usa compartilhamento para suportar grandes quantidades de objetos, tornando o objeto mais leve que o original.

    Bons estudos!