Top 5 Books Each Programmer Must Read During His Entire Life. Part 2
The second book in our Top 5 is “Design Patterns” written by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.
In the modern world of software development the standard approaches are competent approach and reuse of previously developed instruments. The basic of that approach is the object-oriented programming. There are many books about it, but this one is the most useful.
After reading “Design Patterns” you understand that there is no need in reinventing a way to solve a problem, but it is much more effective to learn about the ones that already exist and use them correctly.
Although the material is quite complex for a beginner, it allows to understand and accept the concept of object-oriented programming, learn the patterns, and obtain knowledge of what and when to use.
The book contains several paragraphs on more than 300 pages and describes both the basic theory of patterns and their practical use. The reader step-by-step learns about the purpose and structure of patterns, their peculiarities and practical implementation.
Among all the patterns described in this book, the special attention is given to creational, structural, and behavioral patterns. It can be stated that in the modern software world such patterns already became a standard “language” of the code. Such patterns as abstract factory, factory methods, and singleton are already in all the learning guides and encyclopedias.
The only thing that makes it more difficult to immediately use the obtained knowledge is that all the examples in this book are written using Smalltalk language, which is barely known nowadays. Thus, the reader has to convert the pattern realizations to their language. From some point of view, it is not a disadvantage, but the necessity to practice the theory and gain more thorough understanding of the material.
Next Part of this Series of Articles will tell you a bit more about the third book in our Top 5 — “Refactoring” by Martin Fowler. Stay with us!