Observer模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。
别名:发布-订阅(Publish-Subscribe)
类图:
Java提供了Observable(Subject)类,和Observer接口
Observer模式分为推模式和拉模式:
推模式是Observable对象调用Observer类型对象的Update(…)方法时,将必要的信息直接作为参数传递过去;
拉模式是Observable对象调用Observer类型对象的Update(…)方法时,将自己作为参数传递过去,这样Observer类型对象通过Observable对象的访问方法获取必要信息。
拉模式是对象间的双分派。