Welcome

首页 / 软件开发 / 数据结构与算法 / 重温设计模式(七)——模板方法模式

重温设计模式(七)——模板方法模式2010-04-11 博客园 飞林沙1.摘要

在本文中,我们来对模板方法模式做一个全面的了解。

2.求职简讯

呵呵,如果各位不介意,希望在这里做一个求职的广告。

语言方向:Java/C#/VB,语言熟悉程度降序排列。

求职方向:开发,测试等与IT相关工作。

月薪要求:1000元以上

工作地点:北京

3.开门见山

模板方法,定义一个操作中算法骨架,而将一些步骤延迟到子类中去实现。

让我们先来看看模板方法的示意图:

这个模式的本身很容易理解,我就不自己去画了。

我们看到这个模式的关键在于父类中的TemplateMethod()方法,正是这个方法提供了我们算法的骨架。

曾经和朋友讨论过设计模式,我们一致认为,模板方法是GOF23种设计模式中最重要的设计模式,但是我们却认为,这个模式,我们没有必要把他当作设计模式,甚至可以把他当作一种很普通的继承规则。

4.模板方法的目的

模板方法的目的,我认为有两点:

A.减少重复代码。

B.防止调用出错。

这样的话,我们来归结一下使用模板方法的步骤:

A.识别

B.分离

C.实现

也就是说我们首先要从一系列的算法中去找到,他们的共同部分在哪,称之为识别。然后我们将不同的代码抽取出来,称之为分离。最后,我们用继承将抽取出来的方法在子类中予以实现。