模板方法模式