設計模式總結之Proxy Pattern(代理模式)
目錄
建立型設計模式:
結構型設計模式:
行為型設計模式:
Proxy Pattern(代理模式)
意圖
為其他物件提供一種代理以控制對這個物件的訪問。適用性
在需要用比較通用和複雜的物件指標代替簡單的指標的時候,使用Proxy模式。下面是一些可以使用Proxy模式常見情況:- 遠端代理(Remote Proxy)為一個物件在不同的地址空間提供區域性代表。
- 虛代理(Virtual Proxy)根據需要建立開銷很大的物件。
- 保護代理(Protection Proxy)控制對原始物件的訪問。保護代理用於物件應該有不同 的訪問許可權的時候。
- 智慧指引(Smart Reference)取代了簡單的指標,它在訪問物件時執行一些附加操作。 它的典型用途包括:
* 對指向實際物件的引用計數,這樣當該物件沒有引用時,可以自動釋放它(也稱為SmartPointers)。
* 當第一次引用一個持久物件時,將它裝入記憶體。
* 在訪問一個實際物件前,檢查是否已經鎖定了它,以確保其他物件不能改變它。
結構
例子
優缺點
優點:(1).職責清晰
真實的角色就是實現實際的業務邏輯,不用關心其他非本職責的事務,通過後期的代理完成一件完成事務,附帶的結果就是程式設計簡潔清晰。
(2).代理物件可以在客戶端和目標物件之間起到中介的作用,這樣起到了中介的作用和保護了目標物件的作用。
(3).高擴充套件性。