Tipos de padrões:
- criacional
- estrutural
- comportamental
Criacional:
-
Singleton — restringe a criação de uma classe a uma única instância e fornece acesso a essa única instância.
-
Factory — usado quando temos uma superclasse com várias subclasses e precisamos retornar uma subclasse com base na entrada.
-
Fábrica abstrata — usa uma superfábrica para criar fábricas, que então usamos para criar objetos.
-
Builder — usado para criar objetos complexos usando objetos simples. Ele gradualmente cria um objeto grande a partir de um objeto pequeno e simples.
-
Protótipo — ajuda a melhorar o desempenho ao criar objetos duplicados; em vez de criar um novo objeto, ele cria e retorna um clone de um objeto existente.
Estrutural:
-
Adaptador — um conversor entre dois objetos incompatíveis. Podemos usar o padrão adaptador para combinar duas interfaces incompatíveis.
-
Composto — usa uma classe para representar uma estrutura de árvore.
-
Proxy — fornece a funcionalidade de outra classe.
-
Flyweight — reutiliza objetos em vez de criar um grande número de objetos semelhantes.
-
Fachada — fornece uma interface simples para um cliente, que usa a interface para interagir com o sistema.
-
Bridge — torna classes específicas independentes das classes que implementam uma interface.
-
Decorador — adiciona nova funcionalidade a um objeto existente sem comprometer sua estrutura.
Comportamental:
-
Método de modelo — define um algoritmo básico e permite que os descendentes substituam algumas etapas do algoritmo sem alterar sua estrutura geral.
-
Mediator — fornece uma classe intermediária que lida com toda a comunicação entre diferentes classes.
-
Cadeia de responsabilidade — permite evitar a dependência estrita entre o remetente e o destinatário de uma solicitação; além disso, a solicitação pode ser processada por vários objetos.
-
Observer — permite que um objeto monitore e responda a eventos que ocorrem em outros objetos.
-
Estratégia — permite que as estratégias (algoritmos) sejam alteradas em tempo de execução.
-
Comando — uma interface que declara um método para executar uma ação específica.
-
Estado — permite que um objeto mude seu comportamento dependendo de seu estado.
-
Visitante — usado para simplificar as operações em grupos de objetos relacionados.
-
Intérprete — define uma gramática para uma linguagem simples no domínio do problema.
-
Iterator — acessa sequencialmente elementos de uma coleção sem conhecer sua forma subjacente.
-
Memento — usado para armazenar o estado de um objeto; este estado pode ser restaurado posteriormente.
Mais leitura: |
---|