观察者(Observer)模式（ = 出版者 + 订阅者）
	定义了对象之间的“一对多”依赖，这样一来，当一个对象(主题)改变“状态”时，它的所有依赖者(观察者)都会收到通知并自动更新。（示例：气象监测应用。开源框架应用：MVC）
	"主题和观察者"定义了"一对多"的关系。观察者依赖于此主题，只要"主题状态"一有变化，"观察者"就会被通知。
	如果你了解报纸和杂志的订阅是怎么回事，其实就知道观察者模式是怎么回事。只是名称不太一样，出版者改称为“主题”(Subject)，订阅者改称为“观察者”(Observer)。（流程：观察者模式的一天）
	有了观察者，你将会消息灵通。（Google
快讯）

松耦合的威力
	当两个对象之间松耦合时，它们依然可以交互，但是“不太清楚彼此的细节”。
	观察者模式提供了一种对象设计，让"主题和观察之"之间松耦合。为什么呢？
		1，"主题"只知道"观察者"实现了某个接口，不需要知道观察者的具体类是谁。
		2，任何时候都可以增加"新的观察者"，或者删除某些观察者。
		3，有"新类型的观察者"出现时，主题的代码不需要修改。所有要做的就是在新的类里实现此"观察者接口"，然后注册为观察者即可。
		4，改变主题或观察者其中一方，并不会影响另一方。
	松耦合的设计之所以能让我们建立有弹性的OO系统，能够应对变化，是因为对象之间的互相依赖降到了最低。
	观察者模式以松耦合方式在一系列对象之间沟通状态，代表人物——MVC。

设计原则
	4，为了“交互对象之间”的“松耦合设计”而努力。

JDK源码
	Java内置的观察者模式如何运作（Observer接口与Observable类，注意Observable的黑暗面）
	其它地方：JavaBeans、RMI