Skip to content

Design Patterns Textbook

A free, self-paced textbook in 6 chapters. Read a chapter, then drill it with the 51 companion flashcards using spaced repetition.

6 chapters · 51 cards · Updated

Chapters

  1. 1Foundations of Design Patterns

    Design patterns are reusable solutions to problems that recur again and again in software design. Rather than being finished code that can be dropped into a project, patterns are t...

  2. 2Creational Patterns

    Creational patterns focus on how objects are created, aiming to make instantiation flexible, decoupled, and appropriate to the situation. The Singleton pattern ensures that a class...

  3. 3Structural Patterns

    Structural patterns describe how to assemble classes and objects into larger structures while keeping those structures flexible and efficient. The Adapter pattern converts the inte...

  4. 4Behavioral Patterns

    Behavioral patterns are concerned with how objects communicate and how responsibilities are distributed among them. The Observer pattern defines a one-to-many dependency between ob...

  5. 5The SOLID Principles

    The SOLID principles are five guidelines that help developers build object-oriented systems that are maintainable, flexible, testable, and resistant to gradual decay. The Single Re...

  6. 6Beyond Patterns: Principles, Anti-Patterns, and Choosing Well

    Several broader design principles complement the individual patterns and the SOLID guidelines. Composition over Inheritance favors assembling objects through has-a relationships ra...

← Back to the Design Patterns deck