java設計模式之模板方法a模式

模板方法模式能夠用來封裝算法。將完成必定目標所需的所有方法都封裝到一個方法中,封裝起來,能夠將其聲明爲final的,避免子類去複寫它。其內每一個單獨的方法若是是共同的則在超類中實現,若不一樣則在超類中將其聲明爲抽象的由子類去實現它。不一樣的子類會有不一樣的實現方式。從而減小了對子類的依賴。算法

模板方法定義了一個算法的步驟,並容許子類爲一個或多個步驟提供實現。鉤子

模板方法模式:在一個方法中定義一個算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類能夠再不改變算法結構的狀況下,從新定義算法中的某些實現。模板

在超類中也能夠有「默認不作事的方法」,稱爲「鉤子」,子類可以決定要不要覆蓋它。若是子類不提供本身的方法,抽象類會提供一個默認的實現。方法

相關文章
相關標籤/搜索