模板方法模式
A.定义:
定义一个操作的算法的骨架,把某些操作步骤推迟到子类中。模板方法模式使子类在不改变算法结构的情况下,重新定义该算法的某些步骤。
B.定义分析:
"定义一个操作的算法的骨架,把某些操作步骤推迟到子类中。模板方法模式使子类在不改变算法结构的情况下,重新定义该算法的某些步骤。 "算法的骨架指的是算法的关键步骤,我们把算法的关键步骤定义成虚接口。
"定义一个操作的算法的骨架,把某些操作步骤推迟到子类中。模板方法模式使子类在不改变算法结构的情况下,重新定义该算法的某些步骤。 "子类如果重载了这些虚接口,就会使算法的相应步骤被重写,这样子类就有机会(hook)改写算法的某些步骤了。
"定义一个操作的算法的骨架,把某些操作步骤推迟到子类中。模板方法模式使子类在不改变算法结构的情况下,重新定义该算法的某些步骤。 "这样,算法的步骤没变,但是步骤的处理过程在子类中可被改写拉。
C.问题:
(1)什么时候使用?
模板方法模式使用广泛,理解容易,多态的特性很明显的体现在了模板方法里。当开发框架的时候,经常会用到这个模式。