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