Documentation IndexFetch the complete documentation index at: /llms.txtUse this file to discover all available pages before exploring further.
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
public class Context { private Strategy? _strategy; public void SetStrategy(Strategy strategy) { _strategy = strategy; } public void ExecuteStrategy() { _strategy?.Execute(); } }
public interface Strategy { void Execute(); }
public class ConcreteStrategyA : Strategy { public void Execute() { Console.WriteLine("Executing strategy A"); } }
public class ConcreteStrategyB : Strategy { public void Execute() { Console.WriteLine("Executing strategy B"); } }
public class ConcreteStrategyC : Strategy { public void Execute() { Console.WriteLine("Executing strategy C"); } }
public class ShoppingCart { private IPaymentStrategy? _strategy; public void SetStrategy(IPaymentStrategy strategy) { _strategy = strategy; } public void Checkout(decimal amount) { _strategy?.Pay(amount); } }
public interface IPaymentStrategy { void Pay(decimal amount); }
public class CreditCardStrategy( string name, string cardNumber, string cvv, string dateOfExpiry) : IPaymentStrategy { private string _name = name; private string _cardNumber = cardNumber; private string _cvv = cvv; private string _dateOfExpiry = dateOfExpiry; public void Pay(decimal amount) { Console.WriteLine($"Paid {amount} using credit card"); } }
public class BankTransferStrategy(string bankName, string accountNumber) : IPaymentStrategy { private readonly string _bankName = bankName; private readonly string _accountNumber = accountNumber; public void Pay(decimal amount) { Console.WriteLine($"Paid {amount} using Bank Transfer"); } }
public class PayPalStrategy(string email, string password) : IPaymentStrategy { private string _email = email; private string _password = password; public void Pay(decimal amount) { Console.WriteLine($"Paid {amount} using PayPal"); } }
Contact support