代理模式詳解
阿新 • • 發佈:2019-01-26
以及 代理類 修改 單實例 返回結果 idt 結果的處理 靜態 ima
內容:
1、什麽是代理模式
2、動態代理模式
3、靜態代理模式
1、什麽是代理模式
代理模式的定義:代理模式給某一個對象提供一個代理對象,並由代理對象控制對原對象的引用。通俗的來講代理模式就像生活中常見的中介。
舉個例子來說明:比如通過二手車商買二手車,如下圖所示:
為什麽要使用代理模式:
(1)中介隔離作用:在某些情況下,一個客戶類不想或者不能直接引用一個委托對象,而代理類對象可以在
客戶類和委托對象之間起到中介的作用,其特征是代理類和委托類實現相同的接口
(2)開閉原則,增加功能:代理類除了是客戶類和委托類的中介之外,我們還可以通過給代理類增加額外的功能來
擴展委托類的功能,這樣做我們只需要修改代理類而不需要再修改委托類,符合代碼設計的開閉原則。
代理類主要負責為委托類預處理消息、過濾消息、把消息轉發給委托類,以及事後對返回結果的處理等。
代理類本身並不真正實現服務,而是同過調用委托類的相關方法,來提供特定的服務。真正的業務功能
還是由委托類來實現,但是可以在業務功能執行的前後加入一些公共的服務。例如我們想給項目加入
緩存、日誌這些功能,我們就可以使用代理類來完成,而沒必要打開已經封裝好的委托類。
另外代理模式可以分為動態代理模式和靜態代理模式,詳細看後面的內容
代理模式簡單實例:
2、動態代理模式
3、靜態代理模式
代理模式詳解