Revision Notes/Design Patterns
Field Entry - Design Patterns
Strategy Pattern
Defines a family of interchangeable algorithms and lets you swap them at runtime without changing the code that uses them.
Field Note - Real-world Analogy
“Think of navigation apps. You pick a strategy: "Fastest Route", "Avoid Tolls", or "Walking". The navigation engine (context) uses whichever strategy you selected. You can switch strategies mid-journey and the engine adapts without being rewritten.”
Field Observations - Key Topics Covered
The problem this solves: you have a class that does something in multiple ways depending on a condition. For example, a payment processor that handles Stripe, PayPal, and UPI differently. Without Strategy, you get a giant if/else or switch block inside the class. Every time you add a new payment method, you modify the class — violating the Open-Closed Principle.
4 more observations inside
Sign in to read every key point in full
Ready to go deeper?
Open the complete revision note.
Sign in to read every field observation in full, including a runnable code example and side-by-side comparisons with related patterns.
Read Full NotesSee Also in Design Patterns