設計模式 模板方法模式

2022-03-21 10:13:03 字數 1002 閱讀 1626

模板方法模式:定義完成一件事情的框架,將一些步驟延遲到子類中(實際上是交由子類去做),使得可以不改變演算法結構即可重新定義某些步驟;

角色:抽象類(乙個非抽象方法和若干抽象),具體類(繼承於抽象類)

優點:使得系統結構組成有層次,有條理;減少**量,減少不必要的重複**(抽象類實現的**不必在每個具體類中實現了)

以我司生產環境中的乙個例項來看:

經常需要通過http協議獲取資料,並做相應處理:

抽象類:

public

abstract

class

htmlupdator

}}

實現類:

public

class aqicurrentupdator extends

htmlupdator

@override

void

analyze(string text)

}

呼叫:

new caiyunaqicurrentupdator().update();

模板方法和建造者模式的區別:

乙個是行為模式,乙個是建立型模式;

建造者目的是建立乙個複雜物件,將建立和展現分開;

模板方法是定義一類事情的流程,側重的是處理方式的抽象。

*************************==設計模式系列文章*************************

簡單工廠模式

工廠方法模式

抽象工廠模式

建造者模式

原型模式

介面卡模式

橋接模式

裝飾模式

**模式

組合模式

門面模式

享元模式

責任鏈模式

命令模式

中介者模式

備忘錄模式

觀察者模式

狀態模式

策略模式

模板方法模式

訪問者模式

模板設計模式 設計模式 模板方法模式

在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...

設計模式 模板方法設計模式

物件導向,萬物皆物件,用乙個雷來反應現實生活中的東西。比如銀行系統,業務公升級 活期 定期,差別很小,就加判斷 違背單一職責 差別比較多,尤其是模擬較複雜,型別拆分下。拆分之後,自然就有父類,重用。利率 每個客戶端都有利率,但是各不一樣 抽象方法。show 不分客戶端是一樣的,個別客戶端是不一樣的 ...

設計模式 模板方法模式

模板方法模式 類庫中大量使用,例如idbconnection介面 dbconnection抽象類 派生的sqlconnection和派生的oledbconnection就是使用了這種方法 1。介面,到能做的定義進來。一種規範 2.把共同的部分進去分離出來,放到乙個抽象的父類去實現.3.子類中實現 不...