Template Method(模板方法)-類行為模式 - 設計模式
1. 意圖
定義一個操作中的算法的骨架. 而將一些步驟延遲到子類中.
它使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟.
2. 動機

3. 適用性
一次性實現一個算法的不變部分. 并將可變部分的行為留給子類去實現.
各子類中公共的行為應被提取出來并集中到一個公共父類中以避免代碼重復.
控制子類擴展. 模板方法只在特定點調用"hook"操作.只允許子類擴展這些地方.
4. 結構圖

5. 參與者
AbstractClass(抽象類)
----定義抽象的原語操作(Primitive operation).具體的子類將重新定義這些原語操作.
----實現一個模板方法.定義算法的骨架. 在模板方法里會調用原語操作.
ConcreteClass(具體類)
----實現原語操作以完成算法中與特定子類相關的步驟.