NBA之观察者模式

109 阅读1分钟

Design Pattern:

Observer pattern is used when there is one-to-many relationship between objects such as if one object is modified, its depenedent objects are to be notified automatically. Observer pattern falls under behavioral pattern category. 模式:观察者模式,一个对象被修改,则会通知依赖他的对象。

故事场景: //NBA里詹姆斯风格是这样的-> 每次詹姆斯一拿到球,其他球员都帮忙挡拆。

骑士队的球员
 public class Player {

     String name;

     public Player(Topic topic,String name) {
         this.name = name;
         topic.observers.add(this);
     }

     public void action(){
         System.out.println(name+"挡拆");
     }

 }

Topic Player都订阅了一个topic
public class Topic {

    List<Player> observers = new ArrayList<>();

    public void handle(){
        System.out.println("James拿球");
        for (Player player: observers){
            player.action();
        }
    }
}
实验的开始
    public class Topic {

        List<Player> observers = new ArrayList<>();

        public void handle(){
            System.out.println("Topic-James拿球");
            for (Player player: observers){
                player.action();
            }
        }
    }

结果