行为型模式之模板方法TEMPLATE METHOD

来源:互联网 发布:2017年编程语言排行榜 编辑:程序博客网 时间:2024/06/04 18:45

一、意图

在模板类中定义算法骨架,而将一些具体步骤延迟到子类中。

二、图解

这里写图片描述
如上图,Application模板类在OpenDocument定义了打开一个文档的基本步骤:检测文档是否能被打开CanOpenDocument—-创建文档DoCreateDocument—-读取文档DoRead。对于读取任何格式的文档,这种基本的逻辑步骤都是一样的,但是我们看到CanOpenDocument,DoCreateDocument在模板类中都是抽象方法,而真正的实现方法都交给了子类。这样子类可以实现对应不同的变化。模板类提取了类库中的公共行为,反向的控制结构,类似一个父类调用一个子类的操作。

三、结构

这里写图片描述

0 0