This repository contains some project pattern practices learned at Alura - Design Patterns course.
Padrões Comportamentais
Strategy
https://refactoring.guru/design-patterns/strategy
O padrão Strategy sugere que você pegue uma classe que faz algo específico de várias maneiras diferentes e extraia todos esses algoritmos em classes separadas chamadas de estratégias.
Chain of Responsibility
https://refactoring.guru/design-patterns/chain-of-responsibility
Chain of Responsibility é um padrão de design comportamental que permite passar solicitações ao longo de uma cadeia de manipuladores. Ao receber uma solicitação, cada manipulador decide processar a solicitação ou passá-la para o próximo manipulador na cadeia.
Template Method
https://refactoring.guru/design-patterns/template-method
O padrão Template Method favorece o reaproveitamento de códigos comuns entre classes, evitando assim duplicações de códigos.
State
https://refactoring.guru/design-patterns/state
Estado é um padrão de design comportamental que permite que um objeto altere seu comportamento quando seu estado interno muda.
Command
https://refactoring.guru/design-patterns/command
Comando é um padrão de design comportamental que transforma uma solicitação em um objeto independente que contém todas as informações sobre a solicitação. Essa transformação permite transmitir solicitações como argumentos de método, atrasar ou enfileirar a execução de uma solicitação e oferecer suporte a operações que podem ser desfeitas.
Observer
https://refactoring.guru/design-patterns/observer
Observer é um padrão de design comportamental que permite definir um mecanismo de assinatura para notificar vários objetos sobre quaisquer eventos que ocorram com o objeto que eles estão observando.
Padrões Estruturais
Adapter
https://refactoring.guru/design-patterns/adapter
Adaptador é um padrão de design estrutural que permite que objetos com interfaces incompatíveis colaborem.
Decorators
https://refactoring.guru/design-patterns/decorator
Decorator é um padrão de design estrutural que permite anexar novos comportamentos a objetos, colocando esses objetos dentro de objetos de invólucro especiais que contêm os comportamentos.
Composite
https://refactoring.guru/design-patterns/composite
Composite é um padrão de projeto estrutural que permite compor objetos em estruturas de árvore e, em seguida, trabalhar com essas estruturas como se fossem objetos individuais.
Facade
https://refactoring.guru/design-patterns/facade
Fachada é um padrão de design estrutural que fornece uma interface simplificada para uma biblioteca, uma estrutura ou qualquer outro conjunto complexo de classes.
lucas-caminha/design-patterns
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|