It's not a terrible introduction to the principles, but it could be more readable and the examples aren't the best. It's not as fun to read as something written by Robert C. Martin, but the author gets his points across. The biggest flaw with the book are the examples. For starters, some of the examples are just bad code. For instance, the Singleton example is not thread safe. Secondly, I appreciate that the author is trying to present real-world problems but the size of the examples can obscure the pattern.