定义了一种一对多的依赖关系,让多个观察者同时监听一个对象,但这个对象发生变化时,会通知全部观察者对象,使他们可以更新本身。编程
调用:对象
咱们定义观察者和通知者和通知者两个抽象父类都是为了面向抽象编程,之后再增长新的功能时增长新的类,而不修改原有的子类。 还有一个耦合:咱们通知者对象通知观察者时执行的方法都是同一个方法。方法的执行体虽然已经被观察者重写,可是名字仍是一致的。因此咱们在通知者中增长了委托类型的成员,只须要将通知观察者的方法,注册给通知者的委托成员。这样就能彻底自定义执行的方法了。blog