Design Patterns are elegant solutions to repetitive problems in software design, like:
- the Undo mechanism (memento pattern)
Design Patterns show how to structure classes, and how these classes should talk to each other.
Usually Design Patterns are split into three categories:
- creational patterns
- they are about different ways to create objects
- structural patterns
- about the relationships between these objects
- behavioural patterns
- about the communication/interaction between these objects
There are many unofficial and undocumented patterns out there that we might find useful in certain situations.
One of the goals is to minimize coupling.
Resources
- Efektywna nauka - Krzysztof Jendrzyca | Przeprogramowani ft. Gość #13
- Mentions design patterns worth learning 🇵🇱