I found this book to be very readable. It combines refactoing and patterns. The refactoring shows how to improve existing code in order to improve maintenance and start on the road to patterns. I find the ideas can be used in practice and a group of us are using the book to see how we can improve the code base. The book makes extensive use of ideas from the Martin Fowler book, so it may have helped if I had read that book first. The examples tend to be small subsections of java code and you see how to change by applying a series of refactorings. Sometimes the examples seem to jump so a little larger examples would have helped. I liked that the examples are taken step wise so you can see that the code can change in an evolutionary manner.I would recommend this book for anyone doing software development.