裝飾器模式

裝飾模式能夠實現動態的為對象添加功能,是從一個對象外部來給對象添加功能。通常給對象添加功能,要么直接修改對象添加相應的功能,要么派生對應的子類來擴展,抑或是使用對象組合的方式。顯然,直接修改對應的類這種方式并不可取。在面向對象的設計中,而我們也應該盡量使用對象組合,而不是對象繼承來擴展和復用功能。裝飾器模式就是基于對象組合的方式,可以很靈活的給對象添加所需要的功能。裝飾器模式的本質就是動態組合。動態是手段,組合才是目的。總之,裝飾模式是通過把復雜的功能簡單化,分散化,然后再運行期間,根據需要來動態組合的這樣一個模式。

Java中的IO是明顯的裝飾器模式的運用

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1 場景問題# 1.1 復雜的獎金計算## 考慮這樣一個實際應用:就是如何實現靈活的獎金計算。 獎金計算是相對復雜...
    七寸知架構閱讀 4,051評論 4 67
  • 裝飾器模式 無論何時我們想對一個對象添加額外的功能,都有下面這些不同的可選方法。 如果合理,可以直接將功能添加到對...
    英武閱讀 5,177評論 1 50
  • 裝飾器模式 裝飾器模式是一種旨在提升代碼復用率的結構性模式。有點類似于混入模式,它被認為是一種可以替代子類的可行方...
    pws019閱讀 361評論 0 0
  • 定義 裝飾器模式又名包裝(Wrapper)模式。裝飾器模式以對客戶端透明的方式拓展對象的功能,是繼承關系的一種替代...
    步積閱讀 35,814評論 0 38
  • 概念: 通過使用修飾模式,可以在運行時擴充一個類的功能。原理:增加一個修飾類包裹原來的類,包裹的方式一般是通過在將...
    洋__閱讀 458評論 0 0