* Introduces object-oriented fundamentals critical to designing software and shows how to implement design techniques * Horstmann's clear, hands-on presentation and outstanding writing style help readers to better understand the material * Useful sidebars cover relevant data structures * C++ notes throughout the book illustrate object-oriented programming concepts that are not available with Java * An online UML editor (designed by the author) allows readers to create and test UML code * Also available from Cay Horstmann, the highly successful Computing Concepts with Java Essentials, Third Edition (0-471-24371-X); Computing Concepts with C++ Essentials, Third Edition (0-471-16437-2), and Big Java (0-471-40248-6)
A good overview of different patterns in the context of object oriented programming. It starts out with some basic programming knowledge but quickly moves on to the subjects at hand. It has a good pace and manages to make abstract concepts easy to understand by providing concrete examples.
The Good - Covers the most important patterns and concepts - Companion code to show concepts mentioned - Exercises are easy to understand and follow
The Bad - Code sections can be hard to read visually - Sometimes too much focus on examples and their code
Conclusion A good book for getting a better understanding of design patterns. It comes with plenty concrete implementations and exercises to internalize the knowledge. It can be a bit hard to read because of all the printed source code, but overall a worthwhile book.
Some important patterns are not present. Anyway a good book on the argument and helps to understand how the design patterns are used on the Java Core Standard Library.