Design Patterns are used to resolve commonly recurring problems within software development. This repository focusses on the 'when' and 'why' aspect of each Design Pattern described in the book 'Design Patterns' by the Gang of Four. The 'why' section is explained by means of the SOLID principles. The prerequisites for reading this repository are:
- A 'good' understanding of the SOLID principles (see my previous post: https://github.com/NiekBeijloos/SOLID)
- A 'general' understanding of the Design Patterns (read the book Design Patterns by the Gang of Four or see: https://refactoring.guru/design-patterns)
The 23 Design Patterns are subdivided amongst 3 categories. These categories allow us to quickly narrow down the problem to a selective group of Design Patterns. The following overview defines the 3 Design Pattern categories and their applicability: