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.
This book must be read with a very critical mind. Examples are very naive and not complete. Class/method/variable names are awful and don't follow conventions. Even code formatting is not consistent! So for experienced developers it's just a waste of time and for beginners it actually might be dangerous(there is a sample with SQL injection).