[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