http://www.cnblogs.com/java-my-life/archive/2012/05/14/2495235.html
http://www.importnew.com/15546.html
-
abstract class AbstractTemplate {
-
/**
-
* 模板方法
-
*/
-
public void templateMethod() {
-
// 調(diào)用基本方法
-
abstractMethod();
-
hookMethod();
-
concreteMethod();
-
}
-
-
/**
-
* 基本方法的聲明(由子類實現(xiàn))
-
*/
-
protected abstract void abstractMethod();
-
-
/**
-
* 基本方法(空方法)
-
*/
-
protected void hookMethod() {
-
}
-
-
/**
-
* 基本方法(已經(jīng)實現(xiàn))
-
*/
-
private final void concreteMethod() {
-
// 業(yè)務(wù)相關(guān)的代碼
-
}
-
}
-
-
class ConcreteTemplate extends AbstractTemplate {
-
// 基本方法的實現(xiàn)
-
@Override
-
public void abstractMethod() {
-
// 業(yè)務(wù)相關(guān)的代碼
-
}
-
-
// 重寫父類的方法
-
@Override
-
public void hookMethod() {
-
// 業(yè)務(wù)相關(guān)的代碼
-
}
-
}
當(dāng)前標(biāo)題:模板方法模式
當(dāng)前鏈接:
http://weahome.cn/article/gdjgip.html