定義:動態地給乙個物件增加一些額外的職責,就增加物件功能來說,裝飾模式比生成子類更靈活
**實現:
(1)抽象構建類
public
inte***ce
transform
(2)具體構建類
public
final
class
car implememts transform
public
void
move()
}
(3)抽象裝飾類
public
class
changer
implements
transform
public
void
move()
}
(4)具體裝飾類
public
class
robot
extends
changer
//新增的方法,起到「裝飾」作用
public void
say(
)}
(5)客戶端**
public
class
client
結構型設計模式 裝飾模式
裝飾模式動態地給乙個物件新增一些額外的職責,就增加功能來說,它比生成子類更靈活。也可以這樣說,裝飾模式把複雜類中的核心職責和裝飾功能區分開了,這樣既簡化了複雜類,有去除了相關類中重複的裝飾邏輯。裝飾模式沒有通過繼承原有類來擴充套件功能,但卻達到了一樣的目的,而且比繼承更加靈活,所以可以說裝飾模式是繼...
結構型設計模式 裝飾模式
先列舉乙個生活中的場景。假如我們買了一套房 買不起。但是是乙個毛胚房 指沒有任何裝修的房子 只能住。那麼我們為了讓房子變得溫馨舒適,就要進行裝修了,這樣沒有改變房子原本用來居住的功能,還增加了很多新的功能 比如做飯 那麼這一期的裝飾模式就是基於這樣的動機,在不改變原有功能的情況下新增新功能。那麼給乙...
快速理解設計模式之結構型設計模式(裝飾模式)
宣告 文章裡面某些例子只代表我個人的觀點,分享出來是希望能夠幫助大家理解設計模式,如果認為比較牽強還請手下留情,程式設計師不容易啊 在前面兩篇文章中我們講解了建立型設計模式,所謂建立就是建立物件,各種設計模式呢就是給我們建立物件提供了更好的方法,讓我們的 設計更加合理,符合oo 而不是流線式的程式設...