模板方法模式:定義完成一件事情的框架,將一些步驟延遲到子類中(實際上是交由子類去做),使得可以不改變演算法結構即可重新定義某些步驟;
角色:抽象類(乙個非抽象方法和若干抽象),具體類(繼承於抽象類)
優點:使得系統結構組成有層次,有條理;減少**量,減少不必要的重複**(抽象類實現的**不必在每個具體類中實現了)
以我司生產環境中的乙個例項來看:
經常需要通過http協議獲取資料,並做相應處理:
抽象類:
publicabstract
class
htmlupdator
}}
實現類:
publicclass aqicurrentupdator extends
htmlupdator
@override
void
analyze(string text)
}
呼叫:
new caiyunaqicurrentupdator().update();
模板方法和建造者模式的區別:
乙個是行為模式,乙個是建立型模式;
建造者目的是建立乙個複雜物件,將建立和展現分開;
模板方法是定義一類事情的流程,側重的是處理方式的抽象。
*************************==設計模式系列文章*************************
簡單工廠模式
工廠方法模式
抽象工廠模式
建造者模式
原型模式
介面卡模式
橋接模式
裝飾模式
**模式
組合模式
門面模式
享元模式
責任鏈模式
命令模式
中介者模式
備忘錄模式
觀察者模式
狀態模式
策略模式
模板方法模式
訪問者模式
模板設計模式 設計模式 模板方法模式
在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...
設計模式 模板方法設計模式
物件導向,萬物皆物件,用乙個雷來反應現實生活中的東西。比如銀行系統,業務公升級 活期 定期,差別很小,就加判斷 違背單一職責 差別比較多,尤其是模擬較複雜,型別拆分下。拆分之後,自然就有父類,重用。利率 每個客戶端都有利率,但是各不一樣 抽象方法。show 不分客戶端是一樣的,個別客戶端是不一樣的 ...
設計模式 模板方法模式
模板方法模式 類庫中大量使用,例如idbconnection介面 dbconnection抽象類 派生的sqlconnection和派生的oledbconnection就是使用了這種方法 1。介面,到能做的定義進來。一種規範 2.把共同的部分進去分離出來,放到乙個抽象的父類去實現.3.子類中實現 不...