java 策略模式实现
时间: 2023-10-24 09:02:51 浏览: 130
JAVA策略模式实现
3星 · 编辑精心推荐
在Java中,可以通过以下步骤来实现策略模式:
1. 创建一个抽象策略类,该类声明了策略需要实现的方法。
2. 创建具体策略类,这些类实现了抽象策略类中定义的方法,并提供不同的行为实现。
3. 创建一个环境类,该类维护一个对抽象策略类的引用实例,并在解决某个问题时使用多种策略。环境类也可以提供一个方法,根据需要选择并调用适当的策略。
4. 在客户端代码中,通过实例化具体策略类和环境类来使用策略模式。
下面是一个Java策略模式的示例代码:
```java
// Step 1: 创建抽象策略类
public interface Strategy {
void doSomething();
}
// Step 2: 创建具体策略类
public class ConcreteStrategyA implements Strategy {
@Override
public void doSomething() {
System.out.println("Strategy A");
}
}
public class ConcreteStrategyB implements Strategy {
@Override
public void doSomething() {
System.out.println("Strategy B");
}
}
// Step 3: 创建环境类
public class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public void doSomething() {
strategy.doSomething();
}
}
// Step 4: 在客户端代码中使用策略模式
public class Client {
public static void main(String[] args) {
Strategy strategyA = new ConcreteStrategyA();
Strategy strategyB = new ConcreteStrategyB();
Context context = new Context(strategyA);
context.doSomething();
context.setStrategy(strategyB);
context.doSomething();
}
}
```
在这个例子中,客户端通过实例化具体策略类(`ConcreteStrategyA`和`ConcreteStrategyB`)和环境类(`Context`)来使用策略模式。根据需要,客户端可以动态地切换不同的策略实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [java中简单的策略模式的实现](https://blog.csdn.net/m0_72167535/article/details/127936015)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文