設計模式 三 裝飾器模式

2021-10-21 16:52:58 字數 926 閱讀 5237

裝飾器模式,動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更靈活。

它把每個要裝飾的功能放在單獨的類中,並讓這個類包裝它所要裝飾的物件,因此,當需要執行特殊行為時,客戶**可以在執行時根據需要有選擇地,有根據地使用裝飾功能包裝物件。

//被裝飾物件基類

public

inte***ce

compent

//具體被裝飾物件

public

class

realcompent

implements

compent

}//裝飾器基類,持有被裝飾物件

public

class

decorator

implements

compent

@override

public

void

operation()

}//裝飾器1

public

class

decorator1

extends

decorator

public

void

dofirst()

public

void

dolast()

@override

public

void

operation()

public

static

void

main

(string[

] args)

}

輸出

裝飾器裝飾上的字串

執行前的裝飾操作a

我是裝飾器基類

執行具體操作

執行後的裝飾操作b

深入設計模式 裝飾器模式(三)

裝飾器模式 就是在原來的基礎上新增新的功能,但不改變其結構 什麼叫裝飾器?就是用來包裝某個東西的稱呼,比如,衣服上有個帽子,這個帽子就是衣服的裝飾 首先有個自己的基本資訊介紹,因為你要讓對方有所了解啊,這樣聊起來才不會尷尬是吧。然後實現介紹一下自己的基本資訊。然後就這樣開始相親了,美女一看,恩。小夥...

設計模式 三 裝飾模式

動態地給乙個物件新增一些額外的職責 不重要的功能,只是偶然一次要執行 就增加功能來說,裝飾模式比生成子類更為靈活。建造過程不穩定,按正確的順序串聯起來進行控制。good 當你向舊的類中新增新 時,一般是為了新增核心職責或主要行為。而當需要加入的僅僅是一些特定情況下才會執行的特定的功能時 簡單點就是不...

設計模式 裝飾模式(三)

裝飾模式 軟體領域中的設計模式的重要性不言而喻。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型。雖然知道這些特性的定義但是並沒有做到真正的理解,這樣特性有什麼作用?用於什麼場合中等等問題,帶著疑問開始學習設計模式,主要參考 大話設計模式 和 設計模式 可復用物件導向軟體的基礎 兩本...