Head First Design Patterns – A brain friendly guide
The best book for Design patterns.
It is not difficult to read and It uses many illustrations which is very good for people who prefer visual explanations.
It uses Java as a language, which makes it easy to read and easy to apply in other languages.