前言

模板模式最基礎的概念就是需要一個骨架(abstract class),利用不同方法流程來實作,算是很常見的設計模式之一。

模板模式的骨架可搭配泛型使用,可是不能說使用泛型就是模板模式,主要還是要符合骨架、有不同的方法流程,這幾個要點來區分。

掛勾

掛勾的部分,主要利用掛勾來實現方法職責,讓模板模式彈性更多一些。在模板模式中掛勾主要是用來判斷流程走向。

模板模式 vs 策略模式

策略模式主要是針對行為來制定,而模板模式使用相同的骨架,實作不同的內容、流程。

差異會在有沒有相同骨架流程,在這部分則不是策略模式的重點。

策略模式主軸是利用抽換不同的介面達到功能效果。

好萊塢守則 vs 依賴反轉

  • 好萊塢守則

只是思想,即「不要打電話給我們,我們會打給你」。相較於高階模組、低階模組,就沒有強制規定要不要符合,所以才是一種思想而不是一個設計概念。

  • 依賴反轉原則
  1. 高階模組不應該依賴於低階模組,兩者都應該依賴於抽象介面。

  2. 抽象介面不應該依賴於具體實現。而具體實現則應該依賴於抽象介面。

依賴反轉原則確實符合好萊塢守則的概念。