作用:

  定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod 使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

  UML结构图:

设计模式的解析和实现(C++)之十一-TemplateMethod模式

  抽象基类:

  1)AbstractClass:抽象基类,定义算法的轮廓

  解析:

  TemplateMethod 的关键在于在基类中定义了一个算法的轮廓,但是算法每一步具体的实现留给了派生类.但是这样也会造成设计的灵活性不高的缺点,因为轮廓已经定下来了要想改变就比较难了,这也是为什么优先采用聚合而不是继承的原因.

posted on 2010-02-06 00:07  maxweii  阅读(206)  评论(0编辑  收藏  举报