Core J2EE Patterns: Best Practices and Design Strategies by Dan Malks, Deepak Alur, John Crupi
Explains how to leverage Java's architecture and mechanisms to design enterprise applications and considers code modularity, nonduplication, network efficiency, maintainability, and reusability.