Java設計模式是一套被廣泛使用的經典模式,用于解決常見問題和提高代碼的可重用性和可維護性。其中,策略模式是一種常見的行為模式,它允許基于不同的條件選擇不同的算法來解決同一個問題。以下是策略模式的示例代碼:
//策略模式接口 public interface PayStrategy { void pay(int amount); } //具體策略類:支付寶支付 public class AlipayStrategy implements PayStrategy { @Override public void pay(int amount) { System.out.println("支付寶支付:" + amount + "元"); } } //具體策略類:微信支付 public class WechatPayStrategy implements PayStrategy { @Override public void pay(int amount) { System.out.println("微信支付:" + amount + "元"); } } //上下文類:支付策略選擇器 public class PaymentContext { private PayStrategy payStrategy; public PaymentContext(PayStrategy payStrategy) { this.payStrategy = payStrategy; } public void pay(int amount) { payStrategy.pay(amount); } } //客戶端代碼 public static void main(String[] args) { PaymentContext paidByAlipay = new PaymentContext(new AlipayStrategy()); paidByAlipay.pay(100); PaymentContext paidByWechat = new PaymentContext(new WechatPayStrategy()); paidByWechat.pay(300); }
在上述代碼中,我們使用策略模式將支付功能的具體實現與使用代碼分離開來,增加了代碼的可擴展性和可維護性。如果需要添加其他支付方式,只需實現PayStrategy接口并加入具體策略類即可。同時,客戶端代碼的復雜度也得到了降低,使得代碼更易于理解和修改。