I've just finished reading this book and thought I'd share my thoughts.
Having read Head First Design patterns, (which I think has a unique and great way of teaching patterns), I still couldn't manage to get the patterns in my code. This book however, has finally allowed me to clearly identify and implement some useful patterns in my code, some I was already using but didn't realise! It offers clear explanations of why and how to organise your code into a clear and testable manor. The book has three distinct sections with a total of 12 chapters and presented in a good logical order.
Part I, an Introduction to Practical Enterprise Development, covers the question why and what enterprise architecture and development is, these chapters cover the concepts of enterprise architecture and development talking about Reliability, Flexibility, Separations of Concerns, reusability and maintainability.
Part II, the New Code -- Changing the Way You Build, shows you how you can write and organise your code to support the concepts discussed in part I. It also offers practical learning covering many key concepts in a logical order, amongst other things you will learn about loose coupling, refactoring, TDD, mocking, abstraction, unit testing and a variety of patterns.
Part III, Enterprise Design Patterns, this was the meat for me, effectively covers various design patterns and tools that can be used. For me, some of the best content is in this section, I especially liked the Model-View-Presenter and Model-View-Controller patterns, this part of the book explains why and when these patterns can be used.
In Summary, I would definitely recommend this book, it's a worthwhile read. It taught me so much about what's available out there and what's being used now in software development and will stay as a hands on reference resource going forward.