[PEAA]
Fowler. Patterns of Enterprise Application Architecture
[F]
Fowler. Refactoring; Improving the Design of Existing Code
[GoF]
Gamma, Helm, Johnson, Vlissides. Design Patterns; Elements of Reusable Object-Oriented Software
[POSA]
Buschmann, Meunier, Rohnert, Sommerlad, Stal. Pattern-Oriented Software Architecture; A System of Patterns
[RP]
Kerievsky. Refactoring to Patterns
[PP]
Hunt, Thomas. The Pragmatic Programmer
[ASD]
Martin. Agile Software Development