温馨提示×

策略模式在Java中如何实现

小樊
84
2024-08-18 21:49:38
栏目: 编程语言

在Java中实现策略模式通常需要以下步骤:

  1. 定义一个策略接口(Strategy),其中包含一个方法用于执行具体的策略。
public interface Strategy {
    void execute();
}
  1. 实现不同的具体策略类,这些类都实现了策略接口。
public class ConcreteStrategyA implements Strategy {
    @Override
    public void execute() {
        System.out.println("Executing strategy A");
    }
}

public class ConcreteStrategyB implements Strategy {
    @Override
    public void execute() {
        System.out.println("Executing strategy B");
    }
}
  1. 定义一个上下文类(Context),其中包含一个策略成员变量以及一个用于设置策略的方法。
public class Context {
    private Strategy strategy;

    public void setStrategy(Strategy strategy) {
        this.strategy = strategy;
    }

    public void executeStrategy() {
        strategy.execute();
    }
}
  1. 使用策略模式的客户端代码中创建上下文对象,并根据需要设置具体的策略。
public class Main {
    public static void main(String[] args) {
        Context context = new Context();

        Strategy strategyA = new ConcreteStrategyA();
        context.setStrategy(strategyA);
        context.executeStrategy();

        Strategy strategyB = new ConcreteStrategyB();
        context.setStrategy(strategyB);
        context.executeStrategy();
    }
}

通过以上步骤,我们就成功实现了策略模式的示例代码。在实际应用中,可以根据具体的业务需求定义不同的策略和对应的具体策略类,并在上下文类中根据需要动态切换不同的策略。

0