模板方法,應用在流程相同,但是具體實現不同的場景中。它定義了乙個操作中的演算法骨架,但某些步驟的實現放在子類中實現,子類在不改變整體演算法結構的前提下,能夠重新定義演算法中的某些特定步驟。 如: 銀行的業務流程(取號-業務-評價)
由父類決定整個的流程,子類只能改變部分特定的步驟
/**
* 模板方法
* * @author harvey
* @create 2018-04-07 上午12:03
**/public abstract class templetemethod
abstract void post();
void aft
() // 執行業務流程,保證流程一致性(模板)
void process
() }
複製**
具體的實現
class method1 extends templetemethod
}複製**
呼叫
templetemethod method = new method1();
method.process();
## 結果:
01取號
02 辦理特定的業務
03 評價
複製**
設計模式 模板方法模式 Java
模板方法模式 template 定義乙個操作中演算法的框架,而將一些步驟延遲到子類中。模板方法模式使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。舉個栗子 小明想在學習過後去運動或者上會網,那麼小明在學習某門課程過後一定會搞點事情,而這些事情是可變化的,誰也不知道他要幹什麼,所以...
java設計模式 模板方法模式
在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。準備乙個抽象類,將部分邏輯以具體方法的形式實現,然後宣告一些抽象方法交由子類實現剩餘邏輯,有鉤子方法給予...
JAVA設計模式 模板方法模式
模板方法模式是一種行為型設計模式。其思想是 將部分邏輯以具體方法的形式實現,然後宣告一些抽象方法來迫使子類實現剩餘的邏輯,不同的子類可以以不同的方式實現這些抽象方法,從而對剩餘的邏輯有不同的實現。模板方法模式涉及到2個角色 具體模板 concrete template 結構圖 具體 實現 publi...