Gabarito: B
Factory Method
======= RESUMO =====
COMPORTAMENTAIS
TSIO Chain State Visita e Interpreta Comando Med Mem
* 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.
== CRIACIONAIS ==
Prototype FAB Singleton
* 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.
== ESTRUTURAIS ==
AFF Puta e Bridge Decora Composto
* 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.