Java Design Patterns

Introduction
Solid Principles
Creational
Structural
Behavioral