《设计模式Design Pattern》读书笔记之二十

来源:互联网 发布:新闻资讯类数据分析 编辑:程序博客网 时间:2024/04/28 17:51

《设计模式Design Pattern》读书笔记之二十

Template Method模式

结构

 

目的

在父类定义一个算法的框架,而可以让改算法中的每个步骤在子类中实现。这样,子类可以随意修改算法中的某个具体步骤,但整个算法的结构没有发生改变。

 

讨论

1,  PrimitiveOperation可以是纯虚函数;或者仅仅是一个虚拟函数,父类提供一个缺省的实现。

2,  PrimitiveOperation可以是protected类型的函数,这样可以保证它们仅仅被TemplateMethod调用。

 

与其他模式的区别

Template methods通过继承来达到使得算法的各个部分有不同的实现;Strategies通过委托(delegation)来产生各个完整的不同的算法。

 

参考资料

Design Pattern  Gang-Of-4  1997

原创粉丝点击