Design Patterns are ways of solving different problems we face while designing software solutions. Having too many if/else conditions? Need to implement multiple ways of initializing objects? Writing too many parsers? There's probably a design pattern to help you structure your code elegantly!
An important thing to note though, is that design patterns are but a set of blueprints/recommendations. They are not exact solutions to problems. Rather, they are a concepts/conventions to follow in your code.
In this repository, I have curated a list of design patterns that may help you in your projects!
These patterns are implemented in go. However, with each pattern, I have included a readme file containing the detailed description of the pattern. Hence, you should comfortably be able to implement this in any coding language 🤘🏽
- Factory pattern
- Abstract Factory pattern
- Builder Pattern
- Adapter Pattern
- Bridge Pattern
- Decorator Pattern
- Facade Pattern
- Flyweight Pattern
- Chain of responsibility
wip