[設計模式] 代理模式 (Proxy Pattern)

  • 8140
  • 0

[設計模式] 代理模式 (Proxy Pattern)

Introduction

(原文出處 大話設計模式 )

代理模式:為其他物件提供一種代理以控制對這個物件的存取。

可以先參考 UML 模型 http://terrylee.cnblogs.com/archive/2006/05/18/403382.html

代理物件因為具備原有物件的功能,所以代理物件與實際物件實作了相同的介面。

 

Example

定義一個介面

2010-03-09_233426 

 

女孩類別

2010-03-09_233530

 

追求者類別

2010-03-09_233607

 

代理類別

2010-03-09_233846

 

Client

2010-03-09_233735

 

輸出

2010-03-09_233929

 

 

用在哪些地方?

  • 遠端代理。隱藏一個物件存在於不同位址空間的事實。(ex .NET 的 WebService 應用)。
  • 虛擬代理。用來存放實體化需要很長時間的真實物件。(ex 網頁顯示文字圖在慢慢出來)。
  • 安全代理。控制真實物件存取的權限。
  • 參考代理。當調用真實物件時,代理可以計算真實物件被參考的次數,或是真實物件正在使用,請下個使用者稍待。

 

Refrence

三小俠  小弟獻醜,歡迎指教