Here are the slides for my presentation Software Paradigms, Architectures & Patterns
Disclosure: The book links below are affiliate links. If you buy anything, I earn a commission, at no extra cost to you.Refactoring: The Improving the Design of Existing Code by Martin Fowler
This book that completely changed the way I code. See my post Refactoring: The Book that Changed Everything for Me for more thoughts.
Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Patterns of Enterprise Application Architecture by Martin Fowler