Este repositório tem o objetivo de demonstrar as implementações e benefícios do uso dos padrões de projeto (Design Patterns) aplicados a vários exemplos do cotidiano e codificado na linguagem Java.
Padrões de projeto (design patterns) são soluções típicas para problemas comuns em projeto de software. Cada padrão é como uma planta de construção que você pode customizar para resolver um problema de projeto particular em seu código. (REFACTORING GURU, 2023)
Padrões são como um conjunto de ferramentas para soluções de problemas comuns em design de software. Eles definem uma linguagem comum que ajuda sua equipe a se comunicar mais eficientemente. (REFACTORING GURU, 2023)
Padrões de projeto diferem por sua complexidade, nível de detalhe e grau de aplicabilidade. Além disso, eles podem ser categorizados por seu propósito e divididos em três grupos. (REFACTORING GURU, 2023)
-
🔨 Builder
-
🔌 Adapter
-
🌉 Bridge
-
🌳 Composite
-
🎀 Decorator
-
🏰 Facade
-
🎈 Flyweight
-
🤝 Mediator
-
🕶️ Proxy
-
🔗 Chain of Responsability
-
💾 Memento
-
⚙️ Command
-
➰ Iterator
-
👀 Observer
-
📚 State
-
🎯 Strategy
-
📄 Template Method