1. 程式人生 > >代理模式簡談

代理模式簡談

 圖解代理模式

 

包含的角色

Subject:代理模式

RealSubject:具體主題角色

Proxy:代理主題角色

優缺點

     優點:

                 1、職責清晰。

                 2、高擴充套件性。

                 3、智慧化。

     缺點:

                 1、由於在客戶端和真實主題之間增加了代理物件,因此有些型別的代理模式可能會造成請求的處理速度變慢。

                 2、實現代理模式需要額外的工作,有些代理模式的實現非常複雜。

目的

為其他物件提供一種代理以控制對這個物件的訪問。

經典應用場景

1、Windows 裡面的快捷方式。

2、豬八戒去找高翠蘭結果是孫悟空變的,可以這樣理解:把高翠蘭的外貌抽象出來,高翠蘭本人和孫悟空都實現了這個介面,豬八戒訪問高翠蘭的時候看不出來這個是孫悟空,所以說孫悟空是高翠蘭代理類。

3、買火車票不一定在火車站買,也可以去代售點。

4、一張支票或銀行存單是賬戶中資金的代理。支票在市場交易中用來代替現金,並提供對簽發人賬號上資金的控制。

5、spring aop。

按其目的和實現方式不同可以分為以下幾種代理模式:

1、遠端代理。

2、虛擬代理。

3、Copy-on-Write 代理。

4、保護(Protect or Access)代理。

5、Cache代理。

6、防火牆(Firewall)代理。

7、同步化(Synchronization)代理。

8、智慧引用(Smart Reference)代理。