The Catalog of Design Patterns

Creational

Responsible for efficient object creation mechanisms, which increase the flexibility and reuse of existing code.

Structural

Responsible for building simple and efficient class hierarchies and relations between different classes.

Behavioral

Responsible for the efficient and safe distribution of behaviors among the program's objects.