After reading Jean-Marc Jezequel's excellent first Eiffel book, I was looking for more information on "Design By Contract", and its impacts on real-world projects. Based on the author and subject matter, I immediately ordered "Design Patterns and Contracts."
I was somewhat disappointed with the first section, covering the basics of UML, Design Patterns, and Design by Contract. There are many other references that do a better job of covering these basics. It also had the bland feel of an "Executive Summary" chapter, complete with an overabundance of whitespace, diagrams of questionable value, and concept definitions that would probably have been better off in a glossary.
Things rapidly improve after the first short section. The second part of the book is an excellent resource for the most common design patterns. This section makes a great reference, and I find myself refering to it from time to time for guidance, even when not using Eiffel.
I also greatly enjoyed the third part of this book, which brought the whole discussion into concrete terms by describing several case studies based on the authors' works. This section was very helpful in seeing the design patterns in action.
The one missing piece that would have forced me to give a 5-star rating would have been more discussion of how Design by Contract had a measurable impact on their work. For example, did the use of pre- and post-conditions allow them to find any esoteric bugs that might have gone unnoticed in another implementation language? Did they find that their software was measurably more reliable then systems built using other languages? But these are minor complaints, and can be satisfied through a literature review. This book is an excellent companion volume to your other software design volumes, and is a bargain at its retail price.