1. 观察者模式(Observer)
观察者模式在Java语言中的地位极其重要,所以JDK也提供了对观察者模式的内置支持。
2. Observable类
Observable类用于创建可以观测到你的程序中其他部分的子类。当这种子类的对象发生变化时,观测类被通知。观测类必须实现定义了update()方法的Observer接口。当一个观测程序被通知到一个被观测对象的改变时,update()方法被调用。
3. Observable(观测) [它相当于主题角色,它是 1对多中的 1,Observer是一个接口,它是观测这个主题对象,它是1对多中的多]
1)一个被观测的对象必须服从下面的两个简单规则。
第一,如果它被改变了,它必须调用setChanged()方法。
第二,当它准备通知观测程序它的改变时,它必须调用notifyObservers()方法。
这导致了在观测对象中对update()方法的调用。注意——当对象在调用notifyObservers()方法之前,没有调用setChanged()方法,就不会有什么动作发生。在update()被调用之前,被观测对象必须调用setChanged()和notifyObservers()两种方法。