設計模式之裝飾器模式

1.裝飾器模式

       裝飾器模式(Decorator Pattern)是結構型設計模式的一種,是擴充類功能的一種方式,是繼承的替代方案。

2.裝飾器模式的原理和實現方法

       裝飾器模式的原理:在接口內部,對某些功能擴充;採用組合而不是繼承方式擴充類的功能。

       裝飾器模式的實現方法:對原來提供的接口,擴充相應的功能,而只吧接口暴露給使用者。

3.裝飾器模式和適配器模式、代理模式的比較

        裝飾器模式和適配器模式、代理模式的區別和聯繫是:

        1)裝飾器模式的功能側重於功能擴充而不是轉換,適配器模式側重於功能轉換,代理模式側重點在於功能代理(由別的功能部分實現該功能)

        2)代理模式其實就是一種對於原有功能的模仿,裝飾器則是對原有功能的擴大;

        3)這幾種模式讓功能得到擴展或轉換,會經常聯繫使用。

4.裝飾器模式的優缺點

      裝飾器模式的優缺點:

      1)功能擴展靈活,而不依賴繼承;

      2)可以對同一個對象進行多種裝飾;

     3)缺點爲裝飾方式可能比較複雜,如果嵌套太多,容易造成代碼可讀性變差和出錯。

5.裝飾模式的實現

      裝飾器模式的代碼實現見我個人的github:

         https://github.com/diziqian/DesignPattern/tree/master/DecoratorPattern

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章