Object-Oriented Software Construction
Design Patterns: Elements of Reusable Object-Oriented Software
Refactoring: Improving the Design of Existing Code (2nd Edition) (Addison-Wesley Signature Series (Fowler))
Working Effectively with Legacy Code
Code Complete: A Practical Handbook of Software Construction, Second Edition
Domain-Driven Design: Tackling Complexity in the Heart of Software
A Philosophy of Software Design
Agile Software Development, Principles, Patterns, and Practices
Analysis Patterns: Reusable Object Models
Object Oriented Software Engineering: A Use Case Driven Approach
Object Thinking (Developer Reference)