观察者(Observer)模式实现必须回答以下 4 个问题: 哪个对象是主体,哪个对象是观察者?什么时候主体应当向它的观察者发送通知?当接收到通知时,观察者应该做什么?观察关系应当在什么时候开始,什么时候终止?