思考模板方法模式
(1)模板方法模式的本质:固定算法骨架
(2)模板方法模式的核心:处理某个流程的代码己经都具备,但是其中某些节点的代码不能确定。因此,将这些节点的代码实现转移给子类完成。即处理步骤父类中己经定义好,具体实现延迟到子类中定义。
(3)模板方法中的变与不变
①需要变化的地方都通过纯虚函数,把具体实现延迟到子类中。
②不变的部分,进行公共实现。
(4)好莱坞法则:Don’t call me, I’ll call you
①正常的控制结构:子类调用父类方法,这很正常因为子类继承了父类,所以是知道父类的。
②反向的控制结构:父类调用子类方法,因为父类是不可能知道子类的,所以这也是一种反向的控制结构。在C++中是通过虚函数实现的。
模板的写法
&#