策略模式
策略模式
策略(Strategy)模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。属于对象行为模式。
案例
一个团队可以使用不同的游戏策略:
public interface Stategy {
void gameStategy();
}
public class Stategy01 implements Stategy{
@Override
public void gameStategy() {
System.out.println("正在使用策略1");
}
}
public class Stategy02 implements Stategy {
@Override
public void gameStategy() {
System.out.println("正在使用策略2");
}
}
public class Team {
private Stategy stategy;
public void setStategy(Stategy stategy){
this.stategy = stategy;
}
public void startStategy(){
System.out.println("游戏开始");
stategy.gameStategy();
}
}
测试:
public class Main {
public static void main(String[] args) {
Team team = new Team();
team.setStategy(new Stategy01());
team.startStategy();
}
}