定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。钩子是一种被声明在抽象类中的方法,但只有空的或者默认的现实。钩子的存在,可以让子类有能力对算法的不同点进行挂钩。要不要挂钩,有子类自行决定。好莱坞原则:别调用我,我们会调用你。