添加两个模式：观察者模式和装饰者模式