阅读量:0
在Java中实现策略模式通常需要以下步骤:
- 定义一个策略接口(Strategy),其中包含一个方法用于执行具体的策略。
public interface Strategy { void execute(); }
- 实现不同的具体策略类,这些类都实现了策略接口。
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"); } }
- 定义一个上下文类(Context),其中包含一个策略成员变量以及一个用于设置策略的方法。
public class Context { private Strategy strategy; public void setStrategy(Strategy strategy) { this.strategy = strategy; } public void executeStrategy() { strategy.execute(); } }
- 使用策略模式的客户端代码中创建上下文对象,并根据需要设置具体的策略。
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(); } }
通过以上步骤,我们就成功实现了策略模式的示例代码。在实际应用中,可以根据具体的业务需求定义不同的策略和对应的具体策略类,并在上下文类中根据需要动态切换不同的策略。