Introduction
Design Patterns in any programming language are a must that every developer should learn, understand and implement.
How I Approached Design Patterns in C
If you have written code for at least 5 years, then congratulations you have used some design patterns, but perhaps you are not aware of it. I was in this situation, so I figured out the design patterns that I already used, like Iterator, Observer, and Proxy, to name a few.
The next thing I did was to highlight the patterns most frequently used, like factory, adapter, and builder patterns.
To learn these patterns, I listed down the problem that each of these pattern solves. Once I understood the problem, finding the solution was not rocket science.
Challenges That I Faced
There is much content available online on design patterns, and many books are written on it. A lot of tutorials are also available. However, I didn't understand these very well. Moreover, there are more than 23 design patterns available, which discouraged me.
Tips and Advice
For every pattern that you want to learn, try to find the problem that the pattern is trying to solve, then find the solution that makes learning the design pattern interesting.
Final thoughts and next steps
I learned around 15 design patterns, out of which I knew all 5 creational patterns. I love the concept and the problems that these patterns solve!