观察者模式修改