This is a book my colleague Jitu vai recommends a lot. I started reading this book some time last year and picked up now and then when I managed some time after work and personal life, to study CS stuff.
I like to read books. Online tutorials are a great way to practice coding, but for mastering theories and stuff, books help me a lot.
The charm about Head First books is- they throw a problem to you first, then approach solving that problem with a naive way, which generally comes to our minds. Then they point you towards brainstorming a more suitable solution. In the meantime, you have just learned a new design pattern!
I remember my pathetic attempts to understand design patterns in grad school. I could grasp the factory, decorator and one or two more patterns, all the rest seemed “wait, what is the usage of this again?” to me. I guess, you need some pace of time to understand 12 different design patterns. Otherwise, our brains like to tangle too many patterns into a khichuri.
This time I didn’t memorize the Singleton pattern because I have a class test in 2 hours where I need to pass. Also, I didn’t curse it for being meaningless. Rather I found this one more interesting! My other favorites would be Observer, Adapter and Template patterns.
Give the first chapter of this book a try if you think “Nyah, I never enjoyed any reading materials on design patterns, but I am up for learning them”. More and more examples help us to think in the way of patterns, which Head First provides. I hope to re-read my highlights from this book to master the patterns over time.