博客标题: 在 Spring Boot 中使用策略模式实现灵活的订单处理
// 定义一个支付策略接口
public interface PaymentStrategy {
void pay();
}
// 实现一个具体的支付策略
public class CreditCardStrategy implements PaymentStrategy {
@Override
public void pay() {
// 这里应该是处理信用卡支付的逻辑
System.out.println("Processing credit card payment.");
}
}
// 定义一个策略上下文,用于动态确定使用哪种策略
public class PaymentStrategyContext {
private PaymentStrategy strategy;
public PaymentStrategyContext(PaymentStrategy strategy) {
this.strategy = strategy;
}
public void pay() {
strategy.pay();
}
}
// 使用策略的示例
public class OrderProcessor {
public void processOrder(PaymentStrategy strategy) {
// 此处省略其他订单处理逻辑
// 创建策略上下文
PaymentStrategyContext context = new PaymentStrategyContext(strategy);
// 使用策略处理支付
context.pay();
}
}
// 客户端代码示例
public class Client {
public static void main(String[] args) {
OrderProcessor orderProcessor = new OrderProcessor();
// 创建一个信用卡支付策略实例
PaymentStrategy creditCardStrategy = new CreditCardStrategy();
// 处理订单
orderProcessor.processOrder(creditCardStrategy);
}
}
这个简单的例子展示了如何在Spring Boot应用中使用策略模式来处理灵活多变的支付策略。在实际应用中,你可以根据需要扩展支付策略接口,并创建新的实现类。同时,策略上下文类PaymentStrategyContext
可以根据不同的上下文动态地选择使用哪种支付策略。
评论已关闭