模版方法模式