定義乙個操作中的演算法骨架,而將演算法的一些步驟延遲到子類中。
(1) 抽象類(abstractclass):
負責給出乙個演算法的輪廓和骨架。它由乙個模板方法和若干個基本方法構成。
① 模板方法:templatemethod() 定義了演算法的骨架,按某種順序呼叫其包含的基本方法。
② 基本方法:是整個演算法中的乙個步驟,包含以下幾種型別。
(1)去銀行辦理業務一般要經過以下4個流程:
取號、排隊、辦理具體業務、對銀行工作人員進行評分等。
其中取號、排隊和對銀行工作人員進行評分的業務對每個客戶是一樣的,可以在父類中實現,但是辦理具體業務卻因人而異,它可能是存款、取款或者轉賬等,可以延遲到子類中實現。
(2)乙個人每天會起床、吃飯、做事、睡覺等,其中「做事」的內容每天可能不同。
讓子類實現具體做事的內容。
(3)西遊記裡面菩薩定好的 81 難,這就是乙個頂層的邏輯骨架。
(4)spring 中對 hibernate 的支援,將一些已經定好的方法封裝起來,比如開啟事務、獲取 session、關閉 session 等,程式設計師不重複寫那些已經規範好的**,直接丟乙個實體就可以儲存。
模板設計模式 設計模式 模板方法模式
在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...
模板設計模式 設計模式之模板模式
模板模式,通常又叫做模板方法模式,乙個抽象類公開定義了執行方法的模板,它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方法進行,這種型別的設計模式屬於行為型模式。模板模式主要解決將通用的演算法抽象起來,同樣的 邏輯出現了重複,就可以使用模板模式進行重構。關鍵 在抽象類實現,其他步驟在子類實現...
設計模式 模板設計模式
1 抽象類 abstractclass類中實現了模板方法 template 定義了演算法的骨架,具體子類需要去實現,抽象方法operationr2,3,4 template operationr2,3,4可以是抽象方法,也可以是實現方法 如果是抽象方法,需要到子類實現即可 2 實現類 concret...