首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计形式之略见一斑(Template Method模板方法模式)

2012-10-29 
设计模式之略见一斑(Template Method模板方法模式)? 模板方法模式就是预先作好一个模板,开发者只要根据模

设计模式之略见一斑(Template Method模板方法模式)

? 模板方法模式就是预先作好一个模板,开发者只要根据模板添加相应的业务实现,这个就是架构啦。

它有如下特点

1.这个模板一般是个抽象类,抽象出子类中部分公共的方法,从而减轻子类的负担。

2.这个模板可能会定义一些方法,子类必须实现这些方法。

比如说我们想要某个方法总是以线程方法启动,于是我们的抽象类定义如下:

?

public abstract class Template {public abstract void action();public void doAction() {new Thread(new Runnable() {public void run() {action();}}).start();}}

?

其中action具体就由子类SubTemplate实现。

public class SubTemplate extends Template {@Overridepublic void action() {// TODO Auto-generated method stubdoSomeThing();}}

?

OK,模板方法模式就这么简单了.

?

小结:

??? Template Method模式目的在于一个方法中定义一个算法,并对算法的某些步骤进行抽象,这样,我们可以将这些步骤的具体实现从这个方法中提出,并在某个部方法中定义这些步骤,或者是用一个接口定义这些步骤,留待其他类来提供这些步骤的实现。

??? Template Method模式通常可以作为开发人员之间的约束。一个开发人员提供算法的框架,另一个开发人员则提供算法某些步骤的具体实现。这也许是需要算法实现的步骤,或者是算法的开发人员在算法中某一位置设置的钩子。

??? Template Method模式并不要求我们定义子类前编写模板方法。我们可能在已有的类层次结构发现相似的方法。在这种情况下,我们可以抽象出算法的架构,并把它上移到超类中,从应用模板方法模式来简化和组织代码。这种模式在日常开发中比较常用。

热点排行