設計原則--類應該對擴展開放,對修改關閉。設計
1 裝飾者和被裝飾對象有相同的超類型。
2 你能夠用一個或多個裝飾者包裝一個對象。
3 既然裝飾者和被裝飾對象有相同的超類型,因此在任何須要原始對象(被包裝的)的場合,能夠用裝飾過的對象代替它。
4 裝飾者能夠在所委託被裝飾者的行爲以前與/或以後,加上本身的行爲,以達到特定的目的。
5 對象能夠在任什麼時候候被裝飾,因此能夠在運行時動態地、不限量地用你喜歡的裝飾者來裝飾對象。對象
裝飾者模式- 動態地將責任附加到對象上。若要擴展功能,裝飾者提供了比繼承更有彈性的替代方案。繼承