白话设计模式--行为型模式--Template Method模式(模板方法模式)

 

结构型模式就这么结束了,行为型模式就这么开始了。

首先就是最简单最容易最常用的Template Method模式。
我们怎么定义 Template Method模式呢?简单来说,就是先定义一个骨架(框架开发者),然后具体的应用去实现(应用程序开发人员)这样一个骨架的具体内容,这就是模板方法模式(Template Method).
在生活中的例子也有很多。我们上了大学学了一门专业课,比如汽车设计。那么我们课本以及老师教给我们的知识,就是 Template,基础知识,框架知识。当我们毕业后被丰田汽车,本田汽车,东风汽车雇佣了以后,我们设计出了具体汽车,那么就是具体的应用实现。因为汽车设计的基本知识就是那样,都得考虑安全性,扭矩,省油,环保标准等等。但是,具体的要做成什么样,就要看具体公司的具体商务需求了。

例子可能举的不是很恰当,希望可以给大家一些启发和想法,如果大家有更好的例子,希望不吝赐教。

在具体实现中,小技巧是:把构成Template Method模式的虚方法写成protected的,把使用这些虚方法的方法写成public的。在主流的开发框架中,这个模式几乎比比皆是。这样的一个简单的复用结构,在代码复用的过程中又有变化的需求,这个时候使用模板方法模式是最合适不过的了。它简单,容易使用并且使用广泛,真是居家旅行,程序设计必备之良方。它是一个非常基础的设计模式,简单但是重要。在我看来,它就是一个多态技术的基本应用。don't call me,let me call you这样一个反向结构是Template Method方法的典型应用。

一言以蔽之,模板方法模式就是利用继承和多态进行简单的代码复用和应对具体应用变化的结构。


欢迎拍砖,谢谢大家。

posted @ 2008-12-27 14:55  GodSpeed  阅读(1354)  评论(1编辑  收藏  举报