What is design pattern?
Design pattern is the solution to frequent problems in software development. It is a kind of template developed over the years to solve common problems.
Here are my top picks for the design pattern books and courses.
1. Head First Design Patterns 2nd Edition
If you are familiar with the Head first series then you would know it is entertaining as well as learning experience with Head first. This book has code in Java. It goes very well into the concepts and details each pattern well. If you have struggled with programming jargons and terms then this book will explain the details in easy terms. So scratching through the internet for reading a lot of blogs, you can just read this humorous though sufficient book for design patterns.