1, 观察者模式何用?
其由Subject and Observer 构建,当Subject 发生改变时,所有注册的Observer将得到通知,进而进行一些操作;
2, 观察者模式之实现
Subject 可以是抽象角色,实际存在众多具体角色,Observer 同样如此,Subject 要通知Observer,那么Subject 就需要add Observer,
在发生变化时notify Observer;
3, 观察者模式之使用
一,当一个抽象模型有两个方面,其中一个方面依赖于另一方面;
二,当一个对象改变时,需要同时改变其他对象, 或通知其他对象;
在具体的实现中,Subject and Observer 两者之间的交互,一般有两种模式: Push or Pull ;
Pull: 仅仅告诉Observer 当前Subject发生了变化,欲知道具体发生了什么变化,Observer 再询问Subject;
Push: 只要Subject 发生变化,立即将变化细节传递到Observer;