您的位置:首页 > 其它

模板方法模式

2016-02-14 15:09 471 查看
http://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html

该博客详细介绍了模板方法模式。个人觉得模板方法模式的使用流程

1.创建一个抽象类,抽象类中包含一个模板方法。

2.模板方法是会被重复调用的代码,其中又包含多个逻辑函数

3.模板方法中的逻辑函数又分为普通函数(在抽象类中实现,是定制的方法),定制方法(抛给外部的方法),由基类去实现的定制性的功能。

4.提供一个钩子方法,该方法为空方法或者带有boolean类型返回值的方法,通过子类重写该方法来起到控制模板方法的业务流程

public abstract class AbstractTemplate {
/**
* 模板方法
*/
public void templateMethod(){
//调用基本方法
abstractMethod();
if(hookMethod()){
concreteMethod();
}
}
/**
* 定制方法的声明(由子类实现)
*/
protected abstract void abstractMethod();
/**
* 钩子方法(空方法)
*/
protected boolean hookMethod(){
return true;
}
/**
* 基本方法(已经实现)
*/
private final void concreteMethod(){
//业务相关的代码
}
}


public class ConcreteTemplate extends AbstractTemplate{
//基本方法的实现
@Override
public void abstractMethod() {
//业务相关的代码
}
//重写父类的方法
@Override
public boolean hookMethod() {
return false;
}
}


使用

AbstractTemplate  a1=new ConcreteTemplate ();
a1.templateMethod();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: