【設計模式系列學習筆記】6、裝飾模式

裝飾模式 Decorator:動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更爲靈活。

動態地爲一個對象增加新的功能,一種用於代替繼承的技術,無需通過繼承增加子類就能擴展對象的新功能;使用對象的關聯關係代替繼承關係,更加靈活,同時避免類型體系的快速膨脹。

裝飾模式decorator,也叫包裝器模式wrapper;

降低系統耦合度,可以動態的增加或刪除對象的職責,並使得需要裝飾的具體構件類和具體裝飾類可以獨立變化,以便增加新的具體構件類和具體裝飾類;

優點:

  • 擴展對象功能,不會導致類個數急劇增加;
  • 可以對一個對象多次裝飾,創造不同的行爲組合;
  • 具體構件類/裝飾類獨立變化;

缺點:

  • 易於出錯,調試排查比較麻煩;
  • 產生很多小對象,大量小對象佔據內存,一定程度影響性能;

GitLab項目地址:

https://git.lug.ustc.edu.cn/hellboy0621/transformer_gof23.git

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