在模板模式中,一個抽象類公開定義了執行它的方法的方式/模板。它的子類可以按需要重寫方法實現,但調用將以抽象類中定義的方式進行。這種類型的設計模式屬于行為型模式。
將一系列方法中的固定方法提取到抽象層,完成代碼的復用,且通過子類的重寫行為改變類的模板方法的功能的改變。
定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。
結構圖
角色與理解
- 模板方法模式共分為兩種角色:
- Abstract Class (抽象類):抽象類,提供默認實現的具體方法與供子類實現的抽象方法。
- Concrete Class (具體子類):實現父類聲明的抽象方法,重寫父類的邏輯。
- 抽象類提供模板方法(包含基本方法的執行順序,可被重寫),里邊包含具體方法(子類的通用方法),抽象方法(供子類重寫的方法),鉤子方法(供子類重寫控制模板方法邏輯的方法),子類重寫父類,使類具有不同的功能。
核心代碼
- 抽象類
- 具體子類
- 客戶端
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
控制器
+關注
關注
112文章
16374瀏覽量
178157 -
操作系統
+關注
關注
37文章
6829瀏覽量
123339
發布評論請先 登錄
相關推薦
基于入侵行為模式的告警關聯
本文提出了一種基于入侵行為模式的告警關聯方式。入侵行為模式是定義在時間基礎上的一組謂詞公式,其實質是通過時間限制聯系在一起的入侵事件的集合。該方法
發表于 08-13 08:35
?6次下載
設計模式:備忘錄設計模式
備忘錄設計模式(Memento Design Pattern)是一種行為型設計模式,它的主要目的是在不破壞對象封裝性的前提下,捕捉和保存一個對象的內部狀態
如何通過模板模式重構代碼
the algorithm’s structure. 模板方法模式(Template Method Pattern):定義一個操作中的算法的框架, 而將一些步驟延遲到子類中。使得子類可以不改 變一個算法的結構即可重定義該算
評論