模板方法模式定義:定義乙個操作中的演算法骨架,而將一些步驟延遲到子類中;
模板方法模式使得子類可以不改變乙個演算法的結構即可重新定義該演算法的某些步驟;
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...