State
Allows an object to alter its behavior when its internal state changes. The object will appear to change its class at runtime.
State: Behavior That Changes with State
An object changes its behavior when its internal state changes — state as objects.
State in Production: Workflows and State Machines
Order flows, document lifecycles, and state machine libraries.
Advanced State: Hierarchical and Concurrent States
Nested states, parallel regions, and statecharts.
State: Review & Mastery Quiz
Scenario questions on objects, machines, and charts.
Free Books & Guides
Refactoring.Guru — State
The definitive modern guide to the State pattern. Clear explanations, UML diagrams, real-world analogies, and code examples in multiple languages.
SourceMaking — State
A comprehensive companion guide covering the State pattern with detailed rules of thumb, criticisms, and robust code snippets.
GoF Design Patterns — State
The original Gang of Four book describing the pattern. Available in the "Design Patterns: Elements of Reusable Object-Oriented Software" on Wikipedia.
Official Documentation
Video Courses
freeCodeCamp — Design Patterns Course
A comprehensive multi-hour video course covering all major design patterns with implementations in JavaScript and TypeScript.
Design Patterns in Modern JavaScript Playlist
YouTube playlist covering creational, structural, and behavioral patterns with clear code walkthroughs.
Web Dev Simplified — State
Clear, concise video tutorials covering design patterns with practical examples.
Practice & Examples
Awesome Low-Level Design (GitHub)
A curated collection of free LLD resources, pattern implementations, and interview problems across multiple languages.
Design Patterns Implementation (GitHub)
The most popular open-source collection of design pattern implementations with detailed explanations.
Refactoring.Guru Examples in State
Code examples of the State pattern in TypeScript, Python, Java, and more.

