在模板模式中,一個抽象類公開定義了執(zhí)行它的方法的方式/模板。它的子類可以按需要重寫方法實現(xiàn),但調(diào)用將以抽象類中定義的方式進行。這種類型的設計模式屬于行為型模式。
將一系列方法中的固定方法提取到抽象層,完成代碼的復用,且通過子類的重寫行為改變類的模板方法的功能的改變。
定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。
結(jié)構(gòu)圖
角色與理解
- 模板方法模式共分為兩種角色:
- Abstract Class (抽象類):抽象類,提供默認實現(xiàn)的具體方法與供子類實現(xiàn)的抽象方法。
- Concrete Class (具體子類):實現(xiàn)父類聲明的抽象方法,重寫父類的邏輯。
- 抽象類提供模板方法(包含基本方法的執(zhí)行順序,可被重寫),里邊包含具體方法(子類的通用方法),抽象方法(供子類重寫的方法),鉤子方法(供子類重寫控制模板方法邏輯的方法),子類重寫父類,使類具有不同的功能。
核心代碼
- 抽象類
- 具體子類
- 客戶端
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
控制器
+關(guān)注
關(guān)注
114文章
17100瀏覽量
184224 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7147瀏覽量
125572
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
基于入侵行為模式的告警關(guān)聯(lián)
本文提出了一種基于入侵行為模式的告警關(guān)聯(lián)方式。入侵行為模式是定義在時間基礎(chǔ)上的一組謂詞公式,其實質(zhì)是通過時間限制聯(lián)系在一起的入侵事件的集合。該方法
發(fā)表于 08-13 08:35
?6次下載
模板方法模式在回溯算法中的應用
描述了模板方法模式及回溯算法的模板方法模式的Java 語言實現(xiàn),該實現(xiàn)使得回溯算法的實現(xiàn)達到了可
發(fā)表于 01-15 16:48
?20次下載
模板方法模式在回溯算法中的應用
描述了模板方法模式及回溯算法的模板方法模式的Java 語言實現(xiàn),該實現(xiàn)使得回溯算法的實現(xiàn)達到了可
發(fā)表于 01-15 16:51
?0次下載
設計模式:備忘錄設計模式
備忘錄設計模式(Memento Design Pattern)是一種行為型設計模式,它的主要目的是在不破壞對象封裝性的前提下,捕捉和保存一個對象的內(nèi)部狀態(tài)
設計模式:訪問者設計模式
訪問者設計模式是一種行為型設計模式,用于將算法與對象結(jié)構(gòu)分離。它允許你在不改變對象結(jié)構(gòu)的前提下定義新的操作。
設計模式行為型:觀察者模式
定義對象之間的一種一對多依賴關(guān)系,使得每一個對象發(fā)生狀態(tài)的變化時,其相關(guān)依賴對象皆得到通知并被自動更新,又稱為發(fā)布-訂閱模式、模型-視圖模式、源-監(jiān)聽器模式或從屬者模式。

如何通過模板模式重構(gòu)代碼
the algorithm’s structure. 模板方法模式(Template Method Pattern):定義一個操作中的算法的框架, 而將一些步驟延遲到子類中。使得子類可以不改 變一個算法的結(jié)構(gòu)即可重定義該算

評論