用模板方法将两个推送器简化代码