The book is made of up six chapters, with the first one being an introduction to the concept of design patterns and the second containing a case study of a “pattern view” on a sample application. The last four chapters are a catalog of design patterns. The entire book is a must read for any software developer.
Design patterns are often presented as standard solutions that can be used to commonly occurring problems. I think that it is equally important to be able to recognize patterns in existing code. Being able to identify a pattern helps understanding the code better. It also helps rising the abstraction level. It can be used to describe the architecture of a system without having to describe each part in detail.