裝飾者模式和代理模式

裝飾者模式和代理模式

裝飾者模式

  • 名稱:Decorator
  • 分類:結構型模式
  • 意圖:動態的為目標對象增加功能,比繼承class,重寫方法更加的靈活,體現了組合復用的原則
  • 類圖:
    裝飾者模式
    裝飾者模式
  • 關聯關系:裝飾者將目標對象組合到裝飾者對象中,裝飾者將請求轉發給目標對象,只是會在目標對象處理前后做一些特定處理。裝飾者對象不會中斷請求
  • 優點:
    • 不用繼承就可以擴展對象的功能,通過組合對象更加靈活的增強功能。
    • 每一種裝飾類通常只提供一種特定的裝飾功能,符合單一職責。
  • 缺點:
    • 出問題不易調試。如果new BufferedInputStream(new FileInputStream())
  • 例子:
    • JDK中的I/O類體系結構
    • Shiro中的一系列Request對象

代理模式

  • 名稱:Proxy
  • 分類:結構型模式
  • 意圖:為其他對象提供一種代理來控制對目標對象的訪問
  • 類圖:
    代理模式
    代理模式
  • 關聯關系:代理根據其種類,在適當的時候向RealSubject轉發請求(并不是無條件的轉發)
  • 例子:
    • JDK中的RMI
    • Spring的AOP實現
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容