Hi, I'm currently learning design patterns in C++. I'll be reading through some books on the topic, but I know that writing programs with design patterns yourself is the best way to learn, so I have some questions about them, before I start getting my feet wet:
What design patterns are essential to know?
What design patterns do you come across the most in the wild?
What kind of programs should I try to write so I can learn and practise design patterns?
Any other tips or advice?