Strategy
Defines a family of algorithms, encapsulates each one, and makes them interchangeable. Lets the algorithm vary independently from clients that use it.
Strategy: Swap Algorithms at Runtime
Defining a family of algorithms and making them interchangeable through composition.
Strategy in Production: Pricing, Routing, and Policy Engines
Strategy families in real systems — config-driven selection and registry-based strategies.
Advanced Strategy: Functional Strategies and Dynamic Selection
Strategies as functions, closure-based state, and machine-learned selection.
Strategy: Review & Mastery Quiz
Scenario questions on families, selection, and composition.
Free Books & Guides
Refactoring.Guru — Strategy
The definitive modern guide to the Strategy pattern. Clear explanations, UML diagrams, real-world analogies, and code examples in multiple languages.
SourceMaking — Strategy
A comprehensive companion guide covering the Strategy pattern with detailed rules of thumb, criticisms, and robust code snippets.
GoF Design Patterns — Strategy
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 — Strategy
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 Strategy
Code examples of the Strategy pattern in TypeScript, Python, Java, and more.

