裝飾器模式,動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更靈活。
它把每個要裝飾的功能放在單獨的類中,並讓這個類包裝它所要裝飾的物件,因此,當需要執行特殊行為時,客戶**可以在執行時根據需要有選擇地,有根據地使用裝飾功能包裝物件。
//被裝飾物件基類
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 當你向舊的類中新增新 時,一般是為了新增核心職責或主要行為。而當需要加入的僅僅是一些特定情況下才會執行的特定的功能時 簡單點就是不...
設計模式 裝飾模式(三)
裝飾模式 軟體領域中的設計模式的重要性不言而喻。設計模式中運用了物件導向程式設計語言的重要特性 封裝 繼承 多型。雖然知道這些特性的定義但是並沒有做到真正的理解,這樣特性有什麼作用?用於什麼場合中等等問題,帶著疑問開始學習設計模式,主要參考 大話設計模式 和 設計模式 可復用物件導向軟體的基礎 兩本...