#Design Pattern
Command
O Command transforma uma ação em um objeto.
Chain of Responsibility
O Chain of Responsibility é um padrão comportamental que permite passar uma requisição por uma cadeia de objetos até que algum deles consiga processá-la.
Interpreter
O Interpreter é um padrão comportamental utilizado para representar uma linguagem ou gramática e interpretar expressões dessa linguagem.
Visitor
O Visitor permite adicionar novas operações a uma estrutura de objetos sem modificar as classes desses objetos.
Template Method
O Template Method define a estrutura geral de um algoritmo em uma classe base, deixando algumas etapas para as subclasses implementarem.
Strategy
O Strategy permite definir diferentes algoritmos ou estratégias, encapsulá-los em classes separadas e trocar entre elas dinamicamente.
State
O State é um padrão comportamental utilizado quando um objeto pode assumir diferentes estados e seu comportamento muda de acordo com o estado atual.
Observer
O Observer é um dos padrões comportamentais mais utilizados.
Memento
O Memento é um padrão comportamental utilizado para salvar e restaurar o estado anterior de um objeto sem expor seus detalhes internos.
Mediator
O Mediator é um padrão comportamental que centraliza a comunicação entre vários objetos.
Iterator
O Iterator é um padrão comportamental que permite percorrer uma coleção sem expor sua estrutura interna.
Proxy
O Proxy é um padrão estrutural que cria um objeto intermediário para controlar o acesso a outro objeto.
Flyweight
O Flyweight é um padrão estrutural utilizado para reduzir o consumo de memória compartilhando objetos que possuem dados em comum.
Facade
O Facade fornece uma interface simples para um sistema complexo.
Decorator
O Decorator permite adicionar comportamentos a um objeto dinamicamente sem alterar sua classe original.
Composite
O Composite é um padrão estrutural utilizado para representar estruturas hierárquicas em forma de árvore.
Bridge
O Bridge é um padrão estrutural que separa uma abstração da sua implementação.
Adapter
O Adapter é um padrão estrutural utilizado quando precisamos fazer duas interfaces incompatíveis trabalharem juntas.
Singleton
O Singleton é um padrão criacional que garante que uma classe possua uma única instância durante o ciclo de vida da aplicação e fornece um ponto global de acesso a ela.
Prototype
O Prototype é um padrão criacional que permite criar novos objetos a partir da cópia de um objeto existente.