插播概念:
松耦合概念:
当两个对象之间松耦合,它们依然可以交互,但是不清楚彼此的细节,将依赖降到最低。
设计原则:
应该为了交互对象之间的松耦合设计而努力。
定义:
观察者模式定义了对象之间的一对多依赖,这样以来,当一个对象改变状态时,它的所有依赖者都会得到通知并自动更新。
角色:
主题 :拥有状态,当状态变更时通知相应的观察者。
观察者 :实现了Observer接口,主题状态变更时会调用该接口的具体实现。
分析:
观察者模式提供了一种对象设计,让主题和观察者之间松耦合。
关于观察者的一切,主题只需要知道观察者实现了某个接口(Observer接口)。
主题不需要知道观察者的具体类是谁,都做了些什么或其他任何细节,改变主题或者观察者任何一方都不会影响另一方,只要他们之间的接口仍被遵守。
任何时候我们都可以添加新的观察者,在运行时也可以动态添加或删除观察者,而不需要修改主题。
我们可以独立的复用主题 或者 观察者,因为二者并非紧耦合。