大話設計模式學習(八) 模板方法模式

2021-05-22 17:21:23 字數 635 閱讀 2719

定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構既可重定義該演算法的某些特定步驟

abstractclass

是抽象類,其實也就是一抽象模板,定義並實現了乙個模板方法,這個模板方法一般是乙個具體方法,它給出了乙個頂級邏輯的骨架,而邏輯的組成步驟在相應的抽象操作中,推遲到子類實現。頂級邏輯也有可能呼叫一些具體方法

concreteclass

,實現父類所定義的乙個或多個抽象方法。每乙個

abstractclass

都可以有任意多個

concreteclass

與之對應,而每乙個

concreteclass

都可以給出這些抽象方法(也就是頂級邏輯的組成步驟)的不同實現,從而使得頂級邏輯的實現各不相同

客戶端:

模板方式模式是通過把不變形為搬移到超類,去除子類中的重複**來體現它的優勢,它提供了乙個很好的**復用平台。因為有時候,我們會遇到一系列步驟構成的過程需要執行。這個過程從高層次看是相通的,但有些步驟的實現可能不同,這時用模板方式模式是很好的選擇。

也就是說,當可變的和不變的行為在子類中混在一起的時候,不變的行為就會在子類中重複出現,我們通過模板方法把這些行為搬移到單一的地方,這樣就幫助子類擺脫重複的不變形為的糾纏

大話設計模式八之模板方法模式

幾年之前,那時候很流行微軟的mcse和mcsd的認證考試。於是國內就出現了血多培訓機構。大學生們為了能找到好工作都去參加這個培訓。有個哥們,不是計算機專業的,對軟體開放也算基本不懂吧,但是英文特好,於是它參加了這個培訓後,短短乙個多月,靠著背答案,竟然把mcsd的證書考出來了。乙個幾乎不會開放的人卻...

大話設計模式筆記(八) 模板方法模式

小時候數學老師的隨堂測驗,都是在黑板上抄題目,然後再作答案。寫乙個抄題目的程式。學生甲抄的試卷 created by callmedevil on 2019 7 14.public class test a 試題2 public void testquestion2 學生乙抄的試卷 created ...

大話設計模式 模板方法模式

一 模式介紹 模板方法模式特別適合於整體流程 演算法 固定,只有一小部分功能不同的場景 通過乙個抽象父類構造起整個骨架,而將不固定的部分以抽象方法的形式保留,交給子類去具體實現 二 採用模板方法模式實現街邊小吃 烤冷麵 假設烤冷麵製作流程是固定的 1.加熱麵餅,2.加調料 我們先來實現乙個製作骨架 ...