修改成策略模式