設計模式(九) 模板方法

2021-09-24 09:37:38 字數 1685 閱讀 2234

什麼是模板方法模式?

模板方法(templatemethod),定義乙個操作中的演算法骨架,將一些步驟延遲到子類。模板方方法使得子類可以不改變演算法結構,即可重定義演算法的某些步驟。

簡單來說,模板方法就是定義了做事情的步驟,而這些具體的步驟會根據需求少許改變,但總的步驟結構不變。

模板方法最大的優點在於將一些公共的不變的行為抽取出來以供復用,避免了**重複。

模板模式結構圖:

**示例:

乙個洗衣服的抽象類 washingtemplate

/**

* @author devinlei

*/abstract

class

washingtemplate

public

void

washing()

}

具體類persona

/**

* @author devinlei

*/public

class

persona

extends

washingtemplate

@override

void

putclothes()

@override

void

putwashliquid()

@override

void

closelid()

@override

void

openpower()

}

具體類personb

***

@author devinlei */

public

class

personb

extends

washingtemplate

@override

void

putclothes()

@override

void

putwashliquid()

@override

void

closelid()

@override

void

openpower()

}

測試類 testtemplate

/**

* @author devinlei

*/public

class

testtemplate

}

執行結果:

左手開啟蓋子

放入5件衣物

放入立白洗衣液

左手合上蓋子

左手開啟電源

開始洗滌

右手開啟蓋子

放入7件衣物

放入汰漬洗衣液

右手合上蓋子

右手開啟電源

開始洗滌

process finished with exit code 0

典型應用:spring jdbc的設計實現上就是使用的模板方法模式

設計模式之模板方法模式(九)

模板方法模式是將公用的 抽取到父類,並定義可變部分由子類實現的一種模式。玩家玩遊戲的時候會給角色配置服裝,那麼不可避免給每個玩家都例項乙個player物件,並且設定服裝。package com.rabbit.pattern.template created by vip on 2018 3 9.pu...

JavaScript設計模式九(模板方法模式)

定義 模板方法模式是一種只需要使用繼承就可以實現的非常簡單的模式 模板方法模式由兩部分組成,第一部分是抽象父類,另一部分是具體的實現子類。通常抽象父類中封裝了子類的演算法框架,包括實現一些公共的方法以及封裝子類中所有方法的執行順序。子類通過繼承這個類,然後繼承了這個演算法,然後重寫父類的方法 例子是...

九 模板方法模式

1.什麼是模板方法模式 定義乙個操作中演算法的骨架,而將一些步驟延遲到子類中。2.為什麼要用模板方法模式 模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。模板方法模式是通過把不變行為搬遷的超類,去除子類中的重複 來體現它的優勢,它提供了乙個很好的 復用平台。3.怎樣用模板...