个人觉得观察者模式是继单件模式最常用也是最有用的模式。它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。这是一种重要的解耦方式。
结构图:
代码:
观察者模式最常见的应用是,对于多个视图一份数据,但有不同的表现形式。对数据变化感兴趣的视图,成为数据对象的观察者,这时当数据更新时,视图得到通知,更新自己。而不必知道其他视图的存在。拓展的,我的代码是一个Subject有多个Observer,当然一个Observer,也可以有多个Subject。也就是说可以一对一,多对一和多对多的关系。