Great technical book with tons of distilled advice about software design. It is mainly focused design at a class level, but some of the advice can be extrapolated to a macro design level.
I enjoy a lot the book and it is easy to read and to understand, but it requires at least a medium level of OO design experience to learn from the content. Definitively not a entry level book.
The contents of the book come from the experience of Corey Haines hosting many code retreats. At this code retreats, the problem to solve is always the same (Conway's Game of Life), so Corey show lots of different designs for the same problem. Using this problem and code as a base, he explains the four rules of simple design proposed by Kent Beck in the initial XP book…
This book can help any developer to improve his designs skills and interiorize how to implement elegant and simple designs in his programs. Lot of wisdom.
Even the foreword from Kent Beck contains advices that are pure gold