Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994.
 Christopher Alexander, Sara Ishikawa, and Murray Silverstein, A Pattern Language: Towns, Buildings, Construction. Oxford University Press, 1977.
 Martin Fowler, et al., Refactoring: Improving the Design of Existing Code. Addison-Wesley, 1999.
 Joshua Kerievsky, Refactoring to Patterns. Addison-Wesley, 2004.
 Kent Beck, Test Driven Development: By Example. Addison-Wesley, 2002.
 Robert C. Martin, Agile Software Development: Principles, Patterns, and Practices. (Prentice Hall, 2002.) Clean Code: A Handbook of Agile Software Craftsmanship (Prentice Hall, 2008.) Check out The Robert C. Martin Clean Code Collection (Prentice Hall, 2011) for a set of two eBooks on producing really clean code.
 For example, see Pavel Mitin's page object slideshow.
 Gerald M. Weinberg, The Secrets of Consulting: A Guide to Giving & Getting Advice Successfully. Dorset House, 1986.