裝飾器模式容許咱們給一個類添加新的功能,而不改變其原有的結構。這種類型的類屬於結構類,它是做爲現有的類的一個包裝php
當咱們要畫一個圓形時候,咱們建立一個圓形類,正方形又建立一個類,橢圓、長方形。。。。,而又當咱們要給這些圖形上色的時候,若是咱們使用繼承的方法,那咱們的項目中類文件將隨指數級增加。這個時候要是咱們使用裝飾器類,咱們就能夠巧妙的使用聚合代替繼承解決如此多類文件的問題。並且還能夠使代碼更加靈活,代碼重用度更好。git
githubgithub