I’ve been reading 《大话设计模式》 lately. It really is a great entry-level book on design patterns—plain and accessible, explaining deep ideas in simple terms. You get a feel for the great wisdom embedded in the evolution of design, and for the scenes in the joys and frustrations of a programmer’s life that are worth reliving again and again.

The whole book is built around scenario-based dialogue, using a series of short stories or programming examples to explain the 23 design patterns summarized by GoF (the authors of the classic design patterns text—Design Patterns: Elements of Reusable Object-Oriented Software, whose Chinese edition is titled 《设计模式——可复用面向对象软件的基础》: Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides, who are often called the Gang of Four, i.e. the four-person group, GoF for short). The book is divided into 29 chapters. Chapters 1, 3, 4 and 5 focus on what object orientation means, why it’s valuable, and several important design principles; chapter 2, along with chapters 6 through 28, walks through the 23 design patterns in detail; chapter 29 is a comprehensive summary of design patterns. The appendix introduces the basic concepts of object orientation to beginners through the evolution of a single example. What sets the book apart is its playful Q&A between Xiaocai and Daniao: by walking through the continuous refactoring and evolution of a program, it lowers the barrier to learning design patterns, making it easier for beginners to understand—why is this design the good one? How did anyone arrive at this design? The aim is not only to give readers a “fish” but also to teach them how to fish, guiding them to appreciate the great wisdom contained in the evolution of design. This book is suitable for programming beginners or developers who want to improve their object-oriented programming skills.