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

2022-07-03 21:54:10 字數 1038 閱讀 4695

模板方法模式定義:定義乙個操作中的演算法骨架,而將一些步驟延遲到子類中;

模板方法模式使得子類可以不改變乙個演算法的結構即可重新定義該演算法的某些步驟;

1-1、簡單uml圖:

1-2、**實現

//

1、抽象父類

abstract

class

testphone

public

void

poweroff()

public

void

test()

}//2-1、具體類a

class testphonea extends

testphone}//

2-2、具體類b

class testphoneb extends

testphone

}

客戶端:

testphone testphone;

testphone = new

testphonea();

testphone.test();

testphone = new

testphoneb();

testphone.test();

執行結果:

1、一次性地實現乙個演算法不變的部分,而將可變的行為留個子類來實現;

2、當子類有公共行為可提取到父類中去,而子類有自己的個性化需求時;

無廢話設計模式(22)行為型模式 直譯器模式

直譯器模式定義 interpreter 給定乙個語言,定義它的文法的一種表示,並定義乙個直譯器,這個直譯器使用該表示來解釋語言中的句子 1 1 簡單uml圖 1 2 實現 1 資訊包 context class context public void setmessage string messag...

無廢話設計模式(20)行為型模式 職責鏈模式

職責鏈模式定義 使多個物件都有機會處理請求,從而避免請求的傳送者喝接受者之間的耦合關係。將這個物件連成一條鏈,並沿這條鏈傳遞該請求,直到有乙個物件處理它為止。1 1 簡單uml圖 1 2 實現 1 處理請求的抽象父類 abstract class handler b 處理方法 public abst...

設計模式 四 行為型模式

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