設計模式筆記 – 代理模式
分類
- 結構型
模式的目的(定義)
- 為某個真實的對象提供一個「代理」/替身,從而控制對該真實對象的訪問
- 真實對象一般是:
- 網絡/服務端上的遠程對象 - 遠程代理
- 創建開銷大的資源對象 - 虛擬代理
- 等等
使用場景例子
- 遠程代理
- 創建一個ProtocolSystem類,客戶端的所有對象通過這個類向服務端對象發送請求
- 這個代理類負責了協議的包裝,請求轉發等細節
- 虛擬代理
- 大開銷對象的延遲創建
- 如:圖像、音頻等需要一段時間加載的資源對象
- 在該對象創建前/創建時扮演該對象的替身,提供對外的訪問接口
- 該訪問接口被調用時,再去創建大開銷對象
- 大開銷對象被創建,該訪問接口就直接把訪問委托給該對象
- 大開銷對象的延遲創建
類圖

參考書目
- 《Head First Design Patterns》Eric Freeman, Elisabeth Robson, Kathy Sierra, Bert Bates