修改了观察者模式