今天要讲的是一种叫做模板方法的模式,在传统的面向对象语言中,开发者通常会将共有逻辑抽象出来放在同一个类中调用,而需要这些逻辑的类会去继承共有类中的方法,同时产生一种父类和子类之间的继承关系。在JavaScript中不存在严格的抽象类之间的继承关系,因此这种代码的组织形式可以称之为模板方法。
钩子方法
在模板方法中,会对自身的其他方法进行组合调用,而调用步骤会由于具体的业务场景而出现不同,此时将判断的逻辑抽象出来作为钩子,并根据钩子方法的结果来影响最终模板方法执行的顺序。
好莱坞原则
将调用方法的主动权交给真正执行业务逻辑的一方,保证方法只在真正需要的情况下才进行调用。