NBA之策略模式

129 阅读1分钟

Design Pattern:

In Strategy pattern, a class behavior or its algorithm can be changed at run time. This type of design pattern comes under behavior pattern. 模式:在运行的时候改变其行为

故事场景: NBA中战术有很多很多种:32战术,快攻 等等

下面是战术
public interface Strategy {

    public void doAction();
}

public class Strategy32 implements Strategy{

    @Override
    public void doAction() {
        System.out.println("1.采用32战术");
    }
}

public class StrategyFast implements Strategy{

    @Override
    public void doAction() {
        System.out.println("2.采用快攻战术");
    }
}

球队 - 勇士队
public class Team {

    private Strategy strategy;

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

    public void executeStrategy(){
        strategy.doAction();
    }
}

实验的开始
   public class StrategyDemo {

       public static void main(String[] args) {
           Team warriors = new Team(new Strategy32());
           warriors.executeStrategy();

           warriors = new Team(new StrategyFast());
           warriors.executeStrategy();
       }
   }


结果