Used price: $3.00
List price: $14.95 (that's 30% off!)
Used price: $10.00
Buy one from zShops for: $8.00
Used price: $7.77
Buy one from zShops for: $16.21
List price: $23.95 (that's 30% off!)
Used price: $4.99
Buy one from zShops for: $14.77
What makes this book especially valuable is its clear, direct writing style which uses layman's terms but is still informative, without being condescending or too general. The author obviously has had a great deal of experience conveying medical information to laypeople. His compassion also comes through clearly and shows his sensitivity to the feelings of the cancer patient and those around him or her.
This is one of the few books about cancer that I will probably use as a reference and return to again and again.
Used price: $33.00
Collectible price: $54.86
Buy one from zShops for: $44.94
Used price: $29.99
Collectible price: $63.53
List price: $49.99 (that's 30% off!)
Used price: $34.94
Buy one from zShops for: $34.72
There are a couple of mistakes in the book that can inhibit your code from running. In addition, the database supplied has dates of 1998 and 99, but the book uses dates in 2001, so you have to adjust your code in order to get results. And unfortunately WROX has shut down its errata area so you can't really get help with these problems. So don't assume if your code doesn't work, it is your fault. This is where the code on the CD can be helpful - if it doesn't run right it's the program, not the programmer.
Overall with a little patience and work, you can get a huge amount of help from this book.
Used price: $34.94
Buy one from zShops for: $32.00
As far as UML goes, the book covers five diagrams. The author's advice can be summed up as "don't use UML except on the back of a napkin that you immediately throw away". Use cases are reduced to four pages and he advises against getting any real details. He likes sequence diagrams as long as they are so trivial that they impart no real information. He gives an example of a "too complex" diagram that in half of a page clearly and simply shows the inter-relationship between six classes. Trying to understand this same relationship with code could take hours.
The big problem for this book is that the author is in love with his process. He is an XP proponent and uses this book to push the XP paradigm. The problem is that a lot of programmers that are not using XP will not realize how XP-centric this book is from looking at the title. XP is not the only process and many programmers work in environments where designers design and developers write code. This book will not help them and could actually hinder them by giving them the wrong idea about the usefulness of UML. If you are looking for a book to help you understand how to use UML to design and develop complex J2EE applications then I strongly recommend "Enterprise Java and UML" (ISBN: 0471267783). I would avoid this book.
I love the liberal use of source code throughout this book. We model in order to write code and Bob Martin clearly presents that perspective in this book. If code is the goal then it is worthwhile understanding the relationship between our models and our code. While all of the example code is in Java I'd still recommend this book to anyone who wants to learn more about modeling and who has even a passing familiarity with Java. C++ or other programmers should have no problem reading it, for example.
I like that the author goes beyond just describing each of the UML diagrams and takes the opportunity to teach good design while he's at it. As just one example, the "Single Responsibility Principle (SRP)" is discussed. This principle tells us that "a class should have only one reason to change." In other words, don't put everything into one class. That's pretty obvious but it's still a common mistake. The book shows a brief snippet of Java code that violates this principle and then shows the UML for how to design it better. More importantly, we're told how to recognize this problem in UML diagrams we create or inherit.
This book addresses one of the big problems I've had with many other UML books--it tells the reader right upfront that not all diagrams are equally important. I love that the author tells us things like that "in the last decade I think I have drawn less than a dozen object diagrams of this kind." That's great to know! Because many other books try to cover every diagram and modeling technique they all end up appearing equally important. In this book Bob Martin tells us that he's only going to cover what we really need to know to be better Java programmers. He achieves that goal with flying colors.