观察者模式,又名发布订阅模式。
主要应用场景,
1.当一个模型有两个方面,其中一个方面依赖于另一个方面
2.一个对象改变需要通知到其他对象,但是又不能确定有多少对象要改变
3.一个对象需要通知其他对象,但是不知道具体对象是谁。
目标会发生状态变化,所有关注该目标的具体观察者,通过目标的Attach()方法
注册到Suject上。
ConcreteSubject 对象状态发生改变时,会一次通过调用ConcreteObserver的成员update()通知到观察者对象。
其实观察者可以不用依赖于目标吧,状态变化的对象直接传状态参数过来应该就可以了。