strategy-pattern
🧠 Concept
🧱 Key Roles
Role
Description
💻 Simple Java Example
// Strategy interface
interface PaymentStrategy {
void pay(int amount);
}
// Concrete strategies
class CreditCardPayment implements PaymentStrategy {
public void pay(int amount) {
System.out.println("Paid " + amount + " using Credit Card.");
}
}
class PayPalPayment implements PaymentStrategy {
public void pay(int amount) {
System.out.println("Paid " + amount + " using PayPal.");
}
}
// Context
class ShoppingCart {
private PaymentStrategy strategy;
void setPaymentStrategy(PaymentStrategy strategy) {
this.strategy = strategy;
}
void checkout(int amount) {
strategy.pay(amount);
}
}⚙️ Flow Summary (Step-by-Step)
🪜 Summary
🎯 Real-world Analogy
Last updated