design-patterns
Learning design patterns by implementing them in various programming languages.
Creational design patterns
Creational design patterns provide us with various ways to create objects, which increase flexibility and make code more reusable.
Structural design patterns
Structural design patterns describe how to connect objects into bigger structures to keep flexibility and efficiency.
Behavioral design patterns
Behavioral design patterns describe how to split responsibilities between objects.