不同的 代理模式

不同的 代理模式

不同的 代理模式

不同的 代理模式

1.遠端代理,一個物件在不同的位址空間提供局部代表,
可以隱藏一個物件存在於不同位址空間的事實。

ex:在應用程式專案中加入一個Web參考,參考一個WebService。
此時會在專案中產生一個WebRefernece資料夾和一些檔案。
其實就是代理模式的一種,使Client調用代理就可以解決遠端存取
的問題。

2.虛擬代理,根據需建立消耗很大的物件,透過它來存放實體化需要
花費較長時間的真實物件。

ex:很肥大的HTML網頁,就是透過虛擬代理來替代真實的圖片,此時
代理儲存了真實圖片的路徑和尺寸。

3.安全代理,用來控制真實物件存取時的許可權。

4.智慧代理,當調用真實的物件時,代理處理另外一些事。
ex:計算真實物件的參考次數,當物件沒有參考時,可以自動釋放它。
或第一次參考一個持久物件時,將它裝入記憶體。都是透過代理在存
取一個物件時附加一些內務處理。

以上四種代理模式,就是在存取物件時引入一定程度的間接性,因為
這種間接性,可以附加多種用途。