学习设计模式-模版方法

来源:互联网 发布:类似于快刀的软件 编辑:程序博客网 时间:2024/06/06 02:51

说明:把一定层次具有相同操作,但在更细层次有细微不同时,我们可以抽象这些相同的操作到父类,不同的操作延迟到子类实现。

需求:类似于抄试卷和答题,抄试卷是相同操作,但答题的答案是不同操作。现在A、B都要抄试卷并答题。

解决方式:

a.      定义一个抽象模版类,声明不同操作方法,将相同的操作定义成模版方法(方法内调用不同操作方法)。

b.      定义模版类子类不同操作类,实现不同方法类。

c.      客户端实例化不同操作类,调用不同操作方法,然后调用父类的模版方法。

需求变更:

现在新增C同学抄试卷并答题

解决方式:

客户端新增实例化,然后调用不同操作方法进行编写答案,然后调用模版方法。

类图:

0 0
原创粉丝点击