裝飾者模式和代理模式

裝飾者模式和代理模式

裝飾者模式

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

代理模式

  • 名稱:Proxy
  • 分類:結構型模式
  • 意圖:為其他對象提供一種代理來控制對目標對象的訪問
  • 類圖:
    代理模式
    代理模式
  • 關聯(lián)關系:代理根據(jù)其種類,在適當?shù)臅r候向RealSubject轉發(fā)請求(并不是無條件的轉發(fā))
  • 例子:
    • JDK中的RMI
    • Spring的AOP實現(xiàn)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 設計模式匯總 一、基礎知識 1. 設計模式概述 定義:設計模式(Design Pattern)是一套被反復使用、多...
    MinoyJet閱讀 4,094評論 1 15
  • 1 場景問題# 1.1 復雜的獎金計算## 考慮這樣一個實際應用:就是如何實現(xiàn)靈活的獎金計算。 獎金計算是相對復雜...
    七寸知架構閱讀 4,298評論 4 67
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,628評論 19 139
  • I:重述原文知識 why: 現(xiàn)代社會屬于交易社會,每個人與每個人之間,每個組織與每個組織之間,存在著形形色色的交易...
    王輝lawyer閱讀 350評論 1 3
  • 假期能夠回到海邊的家中,是最美的事了。坐了一上午的車終于到家了,吃完飯后和家人到樓下海邊散步。看到了久違的海面,觸...
    喜水閱讀 334評論 1 0

友情鏈接更多精彩內容