模版方法模式
in 23种设计模式
由固定步骤组成的事情,在步骤确定的情况下,通过多态在子类中对每步进行差异性实现
本文介绍模版方法模式
简介
模式名:模版方法模式
英文:template method
定义:由固定步骤组成的事情,在步骤确定的情况下,通过多态在子类中对每步进行差异性实现。
命名由来:某个成员方法,称为A,固定调用某几个成员方法,故称A为模版方法,这种方法叫做模版方法模式
意图:定义一个操作的算法骨架,将一些步骤延迟到子类实现,通过父类定义虚函数,子类重写/实现来做到
概念
早绑定与晚绑定
早绑定:编译阶段就知道代码调用的哪个类的方法
晚绑定:父类指针指向子类对象,运行期间才能知道调用哪种方法
钩子方法hook
子类可以控制父类的行为的方法
使用场景
MFC
MFC创建对话框的应用程序
车间
零件装配工序固定,则针对零件创建一个父类,零件装配工序采用模版方法模式来实现,处理某道工序的细节可以放在子类的虚函数中