观察者模式 = 主题(Subject) + 观察者(Observer)
观察者模式定义了对象之间的一对多的依赖,当一个对象状态改变,其他对象都将收到通知
在程序设计中尽量做到松耦合
在Java中提供了Observer接口和Observable类,分别对应Observer和Subject,而且不但具有push(推送)的功能,还可以让Observer主动pull(拉取)。
java.util.Observable是一个类,不是一个接口。我们自己的Subject必须继承它,这点并不好,违反了模式设计原则。