很多文章在说明观察者模式的时候喜欢把“回调”的概念加进来,“回调”本来就不好理解,以致于造成在学习观察者模式的时候也不好理解。今天我又看了一遍观察者模式,终于醒悟过来了,明白了。
理解观察者模式首先明白会有两个概念,观察者和被观察者,一个对象可以被多个“观察者”所观察,所以“被观察者”与“观察者”是一个一对多的关系,以致“被观察者”中会有一个“观察者”的集合,我们可以向“被观察者”中注册“观察者”。
因要实现多个“观察者”,所以需要一个接口来把“观察者”的共性规范好,以便于让“被观察者”调用。
则有一个Observer的接口,定义“观察者”观察到“被观察者”的改变,自己想执行的行为。
总而言之,就是“被观察者”发生变化后,会遍历“观察者”集合,去执行“观察者”的方法
理解观察者模式首先明白会有两个概念,观察者和被观察者,一个对象可以被多个“观察者”所观察,所以“被观察者”与“观察者”是一个一对多的关系,以致“被观察者”中会有一个“观察者”的集合,我们可以向“被观察者”中注册“观察者”。
因要实现多个“观察者”,所以需要一个接口来把“观察者”的共性规范好,以便于让“被观察者”调用。
则有一个Observer的接口,定义“观察者”观察到“被观察者”的改变,自己想执行的行为。
总而言之,就是“被观察者”发生变化后,会遍历“观察者”集合,去执行“观察者”的方法