設計模式 13 行為型模式之 模板模式

2021-10-06 22:25:43 字數 1351 閱讀 6893

模板,就是方案的固定格式,一般都要遵循這麼個步驟去幹。比如你請假,你需要 填寫請假條,領導1簽字、領導2簽字,這麼三個步驟。這個就叫模板,就是這麼乙個固定的流程。具體你請假條寫的啥,這個不關心。

在模板模式(template pattern)中,乙個抽象類公開定義了執行它的方法的方式/模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。(這句話來自菜鳥教程)

說白了:我感覺,只要是乙個抽象類裡面定義了乙個抽象方法,並且還使用了此方法。然後此方法由子類去實現了。

這樣的都算模板模式。

定義乙個操作中的演算法的骨架模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。

說白了就是,乙個抽象類定義乙個模板,也就是定義乙個結構。某些步驟的內容確定不了的,由其子類實現,這個抽象類不管。

封裝不變部分,擴充套件可變部分。

提取公共**,便於維護。

行為由父類控制,子類實現。

類數目的增加。

間接地增加了系統實現的複雜度。

繼承本身的缺點

測試乙個方法的執行時間

package template;

public

abstract

class

template

/** * 此方法子類來實現

* @throws exception

*/abstract

void

method()

throws exception ;

/** * 獲取開始時間

* 此方法子類不能重寫

*/final long getcurrenttime()

}

package template;

public

class

templatetest

extends

template

}

@test

public

void

test()

throws exception

這個設計模式的思想還是比較簡單的。最主要的還是要融匯貫通。或許大家就在平常中使用了,但是還是沒有意識到。

設計模式21 行為型模式之狀態模式

定義 狀態模式 state pattern 允許乙個物件在其內部狀態改變時改變它的行為。物件看起來似乎修改了它的類。型別 物件行為型模式 概述 乙個物件有乙個狀態,那麼每乙個狀態又對應一些相應的行為。如果這個物件有很多狀態,那麼就要對應非常多的行為。那麼對這些狀態的判斷以及根據狀態完成相應的行為,會...

設計模式 四 行為型模式

1 命令模式 是一種資料驅動的設計模式,屬於行為型模式。請求以命令的形式包裹在物件中,並傳給呼叫物件。呼叫物件尋找可以處理該明林的適合的物件,並把該命令傳給相應的物件,該物件執行命令。建立乙個命令介面 public inte ce order建立乙個請求類 public class stock pu...

無廢話設計模式(12)行為型模式 模板方法模式

模板方法模式定義 定義乙個操作中的演算法骨架,而將一些步驟延遲到子類中 模板方法模式使得子類可以不改變乙個演算法的結構即可重新定義該演算法的某些步驟 1 1 簡單uml圖 1 2 實現 1 抽象父類 abstract class testphone public void poweroff publ...