要点:
1.模板方法定义了算法的步骤,并且把这些步骤的实现延迟到子类
2.模板方法模式为我们提供了一种代码复用的重要技巧
3.模板方法的抽象类可以定义具体方法,抽象方法和钩子(钩子:可以在模版方法中定义,也可以在子类中定义,可以选择性使用)
4.抽象方法由子类实现
5.钩子是一种方法,它在抽象类中不做事,或者指做默认的事情,子类可以选择要不要覆盖他
6.为了子类改变模板方法中的算法,可以将模板方法申明为final
7.将决策权放在高层模板中,以便决定如何以及何时调用低层模块
要点:
1.模板方法定义了算法的步骤,并且把这些步骤的实现延迟到子类
2.模板方法模式为我们提供了一种代码复用的重要技巧
3.模板方法的抽象类可以定义具体方法,抽象方法和钩子(钩子:可以在模版方法中定义,也可以在子类中定义,可以选择性使用)
4.抽象方法由子类实现
5.钩子是一种方法,它在抽象类中不做事,或者指做默认的事情,子类可以选择要不要覆盖他
6.为了子类改变模板方法中的算法,可以将模板方法申明为final
7.将决策权放在高层模板中,以便决定如何以及何时调用低层模块