golang 模板方法模式
模板方法模式定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使的子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。将主要的方法定义为final,防止子类修改算法骨架,将子类必须实现的方法定义为abstract。而普通的方法(无final或abstract修饰)则称之为钩子。 钩子作用: 1)作为可选内容,子类可以重写或者置之不理 2)让子类有机会对模板方法中即将发生的或者已经发生的步骤做出反应 3)作为控制条件,使得子类可以影响到抽象类中的算法流程 角色:模板抽象父类,模板子类 优点: 1)模板方法模式在一个类中形式化地定义算法,而...