使用继承的时候,要使继承有意义,应该要成为子类的模板,所有的重复应该上升到父类中去,而不是让子类去重复。
当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其中某个步骤在更详细的层次上实现可能不同时,我们通常考虑用模板方法模式。当不变的行为和可变的行为在方法的子类实现中混合在一起的时候,不变的行为会在子类中重复出现。
精髓在于对抽象方法的调用。
使用继承的时候,要使继承有意义,应该要成为子类的模板,所有的重复应该上升到父类中去,而不是让子类去重复。
当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其中某个步骤在更详细的层次上实现可能不同时,我们通常考虑用模板方法模式。当不变的行为和可变的行为在方法的子类实现中混合在一起的时候,不变的行为会在子类中重复出现。
精髓在于对抽象方法的调用。