前言
模板模式最基礎的概念就是需要一個骨架
(abstract class),利用不同方法
或流程
來實作,算是很常見的設計模式之一。
模板模式的骨架
可搭配泛型使用,可是不能說使用泛型就是模板模式,主要還是要符合骨架
、有不同的方法
或流程
,這幾個要點來區分。
掛勾
掛勾的部分,主要利用掛勾來實現方法職責,讓模板模式彈性更多一些。在模板模式中掛勾主要是用來判斷流程走向。
模板模式 vs 策略模式
策略模式主要是針對行為來制定,而模板模式使用相同的骨架
,實作不同的內容、流程。
差異會在有沒有相同骨架
、流程
,在這部分則不是策略模式的重點。
策略模式主軸是利用抽換不同的介面達到功能效果。
好萊塢守則 vs 依賴反轉
- 好萊塢守則
只是思想,即「不要打電話給我們,我們會打給你」。相較於高階模組、低階模組,就沒有強制規定要不要符合,所以才是一種思想而不是一個設計概念。
- 依賴反轉原則
高階模組不應該依賴於低階模組,兩者都應該依賴於抽象介面。
抽象介面不應該依賴於具體實現。而具體實現則應該依賴於抽象介面。
依賴反轉原則確實符合好萊塢守則的概念。