题目
介绍下策略模式
答案
策略模式(Strategy Pattern)定义一系列算法,将每个算法封装起来,并使它们可以互换,从而使算法可以独立于使用它的客户端变化。 适用场景 - 多个算法类只在行为上稍有不同。 - 希望在运行时选择不同的算法。 Java 示例:支付方式策略 ```java // 策略接口 interface PaymentStrategy { void pay(int amount); } // 具体策略 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."); } } // 上下文 class ShoppingCart { private PaymentStrategy strategy; public void setPaymentStrategy(PaymentStrategy strategy) { this.strategy = strategy; } public void checkout(int amount) { strategy.pay(amount); } } // 测试 public class StrategyTest { public static void main(String[] args) { ShoppingCart cart = new ShoppingCart(); cart.setPaymentStrategy(new CreditCardPayment()); cart.checkout(100); cart.setPaymentStrategy(new PayPalPayment()); cart.checkout(200); } } ```