1. 程式人生 > >設計模式(7)—— 結構型 —— 裝飾器(Decorator )

設計模式(7)—— 結構型 —— 裝飾器(Decorator )

介紹

  • 定義:在不改變原有物件基礎之上,將功能附加到物件上
  • 說明:在擴充套件原有物件功能方面,提供了比繼承更有彈性的替代方案
  • 型別:結構型
  • 適用場景:
    • 擴充套件一個類的功能或給一個類新增附加職責
    • 動態地給一個物件新增功能,這些功能又可以再動態的撤銷
  • 優點:
    • 繼承的有利補充,比繼承靈活,不改變原有物件的情況下給物件擴充套件功能。
    • 通過使用不同裝飾類以及這些裝飾類的不同組合,可以實現不同的效果
    • 符合開閉原則
  • 缺點
    • 出現更多的程式碼,更多的類,增加程式複雜性
    • 動態裝飾,多層裝飾時會更加複雜
  • 相關設計模式
    • 裝飾器模式和代理模式
    • 裝飾器模式和介面卡模式

這個看了它人的文章:《JAVA與模式》之裝飾模式