23种设计模式之装饰模式
生活随笔
收集整理的這篇文章主要介紹了
23种设计模式之装饰模式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
裝飾模式的定義
定義: 動態的給一個對象添加一些額外的職責. 就增加功能來說, 裝飾模式相比生成子類更為靈活.
通俗的說, 就是對一個類或方法進行包裝
裝飾模式的通用類圖:
?
類圖中的四個角色說明如下:
具體實現代碼如下:
?
?
抽象裝飾者代碼:
?
具體裝飾者代碼:
?
場景類:
?
裝飾模式應用
裝飾模式的優點:
裝飾模式的缺點:
對于裝飾模式記住一點就夠了: 多層的裝飾是比較復雜的.
裝飾模式的應用場景:
裝飾模式是對繼承的有力補充. 要知道繼承不是萬能的, 在項目中要考慮諸如易維護、易擴展、易復用等, 而且在一些情況下要是用繼承就會增加很多子類, 而且靈活性非常差, 當然維護也不容易了, 也就是說裝飾模式可以替代繼承, 解決類膨脹的問題. 同時, 繼承是靜態的給類增加功能, 而裝飾模式是動態的增加功能.
裝飾模式還有一個非常好的優點: 擴展性非常好.
總結
以上是生活随笔為你收集整理的23种设计模式之装饰模式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言边序列构造邻接表,结构C语言版期末
- 下一篇: 23种设计模式之状态模式