Provider抽象化