switch case 用设计模式怎么优化
时间: 2023-09-21 11:09:14 浏览: 89
在使用 switch case 时,可以使用设计模式中的策略模式来进行优化。策略模式通过将每个 case 分支封装成一个独立的策略类,从而实现了解耦和可扩展性。
首先,创建一个策略接口,定义统一的方法:
```java
public interface Strategy {
void execute();
}
```
然后,创建多个具体的策略类,分别实现策略接口:
```java
public class StrategyA implements Strategy {
@Override
public void execute() {
// 执行策略A的逻辑
}
}
public class StrategyB implements Strategy {
@Override
public void execute() {
// 执行策略B的逻辑
}
}
// 其他策略类...
```
接下来,在使用 switch case 的地方,将每个 case 分支替换为对应的策略类:
```java
public class Context {
private Strategy strategy;
public Context(Strategy strategy) {
this.strategy = strategy;
}
public void executeStrategy() {
strategy.execute();
}
}
// 在使用时
public class Main {
public static void main(String[] args) {
int key = 1; // 假设根据某个条件得到的值
switch (key) {
case 1:
Context contextA = new Context(new StrategyA());
contextA.executeStrategy();
break;
case 2:
Context contextB = new Context(new StrategyB());
contextB.executeStrategy();
break;
// 其他 case 分支...
default:
// 默认逻辑
break;
}
}
}
```
通过使用策略模式,可以将每个 case 分支的逻辑封装到独立的策略类中,使代码更加清晰、可维护和可扩展。同时,如果需要新增或修改某个分支的逻辑,只需要增加或修改对应的策略类,不会影响到其他分支的代码。
阅读全文