问答详情
源自:3-1 认识观察者模式

通知调用顺序问题.

   List<String> list =new ArrayList<String>();

   list.add("1");

   list.add("2");

   list.add("3");

   list.add("4");

   list.add("5");

   for(String str:list){

  System.out.println(str);

   }

运行结果为1 2 3 4 5 


如果目标接口使用List集合来存储观察者列表,然后在notify()方法中循环遍历观察者列表,并进行通知,那么通知的顺序不就是注册观察者时的顺序吗?为什么老师说理论上不行.

提问者:庄学爸 2016-04-29 18:28

个回答

  • leowei
    2016-10-27 23:18:57

    个人理解,是 这几个观察者之间没有紧密的依赖关系!是平行的关系,或者是比较独立的

  • nandehutu
    2016-05-02 23:15:48

    因为在Subject中提供了detach方法 ,如果把他从Subject的List中删除掉再注册的话顺序就变了