重温设计模式(七)——模板方法模式2010-04-11 博客园 飞林沙1.摘要在本文中,我们来对模板方法模式做一个全面的了解。2.求职简讯呵呵,如果各位不介意,希望在这里做一个求职的广告。语言方向:Java/C#/VB,语言熟悉程度降序排列。求职方向:开发,测试等与IT相关工作。月薪要求:1000元以上工作地点:北京3.开门见山模板方法,定义一个操作中算法骨架,而将一些步骤延迟到子类中去实现。让我们先来看看模板方法的示意图:

这个模式的本身很容易理解,我就不自己去画了。我们看到这个模式的关键在于父类中的TemplateMethod()方法,正是这个方法提供了我们算法的骨架。曾经和朋友讨论过设计模式,我们一致认为,模板方法是GOF23种设计模式中最重要的设计模式,但是我们却认为,这个模式,我们没有必要把他当作设计模式,甚至可以把他当作一种很普通的继承规则。4.模板方法的目的模板方法的目的,我认为有两点:A.减少重复代码。B.防止调用出错。这样的话,我们来归结一下使用模板方法的步骤:A.识别B.分离C.实现也就是说我们首先要从一系列的算法中去找到,他们的共同部分在哪,称之为识别。然后我们将不同的代码抽取出来,称之为分离。最后,我们用继承将抽取出来的方法在子类中予以实现。