模板類的公開方法中定義了一些內部方法的執行順序;
子類重寫這些內部方法;從而實現了子類不修改方法執行順序,但實現了不同的操作。
即將共有的方法執行順序或邏輯封裝在父類中。
還可以使用鉤子方法,控制某些方法是否執行
使用場景:
- 多個子類有公有的方法,且方法執行順序或邏輯相同
- 重要復雜的算法,可以把核心算法設計為模板方法,細節功能則由子類實現
優點
- 封閉不變部分,擴展變化部分
- 提取公共代碼,便于維護
- 行為由父類控制,子類實現
模板類的公開方法中定義了一些內部方法的執行順序;
子類重寫這些內部方法;從而實現了子類不修改方法執行順序,但實現了不同的操作。
即將共有的方法執行順序或邏輯封裝在父類中。
還可以使用鉤子方法,控制某些方法是否執行
使用場景:
優點