1. 程式人生 > >設計模式之裝飾模式,學習心得。如有錯誤,請多指教,謝謝。

設計模式之裝飾模式,學習心得。如有錯誤,請多指教,謝謝。

裝飾模式設計出來的目的就是為了更方便的對現有類進行功能的新增,同時又不改變現有類。

即,我是不永恆不變的,為了現在滿足我某個功能,這個功能大多數時候我是不需要的,你讓我自己去學習這個功能,我又不常用我學它幹什麼呢?沒有必要改變自己嘛。就像為了在冬天保暖,我沒有必要長一身毛,沒有必要養一身肥肉?對吧。

為了讓我保暖,我就在冬天三個月時間裡,穿棉衣棉褲就ok了。來年春暖花開,我再脫下棉襖,我還是我,一點沒變。沒長毛,沒厚膘。

我就可以理解為現有類,棉衣棉襖就像我需要的功能。記住,裝飾模式是為了方便快捷的增加我需要的方法,功能。

上課筆記

模式動機:

對客戶透明的方式地給一個物件附加上更多的責任,

在不需要創造更多子類的情況下,將物件的功能加以擴充套件。

缺點:

產生很多小物件

裝飾比繼承容易出問題,排錯很困難,尋找錯誤,要逐級排查,繁瑣。