观察者模式:定义了对象之间一对多的依赖关系,这样一来,当一个对象的状态发生改变时,它的依赖者将会受到通知并且自动更新。
有一个模式可以帮你的对象知悉现况,不会错过该对象感兴趣的事,对象甚至在运行时可以决定是否要继续被通知---这就是观察者模式。
观察者模式提供了一种对象设计,让主题和观察者之间松耦合。
设计原则:为了交互对象之间的松耦合设计而努力。
要点:
观察者模式定义了对象之间的一对多关系。
主题使用一个共同的接口来更新观察者。
观察者和主题之间用松耦合的方式结合,主题不知道观察者的细节,只知道观察者实现了观察者接口。
使用此模式你可以从主题出“推”或者“拉”数据(然而,推的方式被认为更“正确”)。
有多个观察者时,不可以依赖特定的通知次序。