--簡易圖: 設計
--類圖: 對象
--實例: 繼承
使用狀況: 擴展
一、須要擴展一個類的功能,或給一個類增長附加責任。 im
二、須要動態地給一個對象增長功能,這些功能能夠再動態的撤銷。 裝飾器
三、須要增長由一些基本功能的排列組合而產生的很是大量的功能,從而使繼承關係變得不現實。 img
優缺點: 實例
裝飾器與繼承關係的目的都是要擴展對象的功能,裝飾器比繼承更靈活。(裝飾器是動態的,繼承是靜態的)
能夠排列組合的使用裝飾器。
缺點是,雖然這樣設計類少了,不過對象多了。給查錯帶來隱患。