­

設計模式——模版方法模式

shanzm-2020年7月20日 01:55:50

1. 簡介

1.定義

模版方法模式(Template Method Pattern):用於定義一個操作中演算法的骨架,而將一些步驟延遲到子類中。

模版方法模式使得子類可以不改變一個演算法的結構及可重定義該演算法的某些特定步驟。

簡而言之:模版方法模式功能在於固定演算法骨架,而讓具體演算法實現可擴展。

其實只要是理解繼承和多態即可以立即明白模版方法模式。模版方法模式是通過把不變行為搬移到父類,除去子類中的重複程式碼。

2.主要類

  • AbstractClass:抽象類。用來定義演算法骨架(抽象方法)。具體的子類通過重寫抽象方法來實現一個演算法的各個步驟。

  • ConcreteClass:具體實現類。用來實現演算法骨架中的某些步驟,完成與特定子類相關的功能。

3.名詞解釋

  • 模版方法:抽象類中定義演算法骨架的方法。

  • 原語操作:即抽象方法,抽象類中定義的抽象操作。

  • 具體操作:即具體方法,抽象類定義的具體方法體的方法

  • 鉤子方法:用於決定模版方法中某個方法是否執行的方法。鉤子方法就是通過子類的行為去反向控制父類的行為的一種方法

4.抽象工廠模式的UML

Template Method Pattern UML