0%

设计模式之策略模式

什么是策略模式

策略模式定义了一系列算法,并将每一个算法封装起来,而且使他们还可以相互互换。

UML 图

简单实现

策略接口

1
2
3
4
5
6
7
/**
* @author iisheng
* @date 2019/10/18 16:09:16
*/
public interface Strategy {
void doSomething();
}

策略具体实现1

1
2
3
4
5
6
7
8
9
10
11
/**
* @author iisheng
* @date 2019/10/18 16:09:49
*/
public class ConcreteStrategy1 implements Strategy {

@Override
public void doSomething() {
System.out.println("策略1");
}
}

Context

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* @author iisheng
* @date 2019/10/18 16:10:37
*/
public class Context {
private Strategy strategy;

public Context(Strategy strategy) {
this.strategy = strategy;
}

public void doAnyThing() {
strategy.doSomething();
}
}
iisheng wechat
微信扫码关注 Coder阿胜