标签(空格分隔): 设计模式设计模式
行为型模式。设计
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,全部依赖于它的对象都获得通知并被自动更新。server
不知道观察者有多少个,观察者能够动态绑定和解绑。对象
具体实现:
Subject角色:抽象角色,用来存放全部观测者,即汇集一个Observer的list,提供绑定观测者和解绑观测者的借口,其实就是把Observe放进list和从list中删除。继承
具体主题(ConcreteSubject):继承Subject的类。将有关状态存入具体观察者对象;在具体主题内部状态改变时,给全部登记过的观察者发出通知。即notifyAllObserver的方法,一旦状态改变,立刻调用这个方法通知全部观察者,具体是遍历观察者列表,调用它们的update方法。接口
观察者接口(Observer):为全部的具体观察者定义一个接口,在获得主题通知时更新本身,包含一个update方法。date
具体观察者(ConcreteObserver):实现抽象观察者角色所要求的update接口,以便使自己的状态与主题状态协调。遍历