代理模式主要使用的是靜態代理。
設計模式中定義: 爲其他對象提供一種代理以控制對這個對象的訪問.
代理模式的作用是:爲其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個客戶不想或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用。
例如:一個顯示圖片的選項卡程序,每一個選項卡顯示一幅圖片,在任何一個時刻,只有一個選項卡被選中,因此在沒有選中的選項卡中的圖片就沒有必要被創建,使用一個圖片的代理對象代理這個圖片,只要在客戶端程序要求顯示這個圖像時才真正創建該圖像,在代理對象中必須存儲被代理對象的所有的信息。
總結:Proxy模式在訪問對象是引入了一定程度的間接性,根據代理的類型,附加的間接性有多種用途:
1. Remote Proxy可以隱藏一個對象存在於不同抵制空間的事實。
2. Virtual Proxy可以進行最優化,例如根據要求創建對象。
3. Protection Proxies和Smart Reference都允許在訪問一個對象時有一些附加的內務處理。