模板方法模式是類的行為模式.通過抽象類將部分邏輯以具體方法以及具體構(gòu)造函數(shù)的形式實現(xiàn),然后通過子類實現(xiàn)的抽象方法實現(xiàn)業(yè)務(wù)邏輯.不同的子類可以以不同的方式實現(xiàn)這些抽象方法.
① 抽象類:實現(xiàn)了模板方法原环,定義了算法的骨架.
② 具體類實現(xiàn)抽象類中的抽象方法公浪,已完成完整的算法.
核心代碼:
<pre><code>`class TemplateAnimation {
func showAnimation() { }
}
class CustomAnimation: TemplateAnimation {
override func showAnimation() {
print("FlyElephant--實現(xiàn)自定義動畫")
}
}`</code></pre>
測試代碼:
<pre><code>let animation:TemplateAnimation = CustomAnimation() animation.showAnimation()
</code></pre>
模板方式的優(yōu)點:
① 模板方法模式通過把不變的行為搬移到超類柳畔,去除了子類中的重復(fù)代碼.
② 子類負(fù)責(zé)抽象方法的具體實現(xiàn).