用装饰者模式动态切换不同的数据源