close

[Design Pattern] 代理模式 (Proxy Pattern)

 

3.2 代理模式優缺點

優點

  • 真實角色(RealSubject)完成實際的商業邏輯,其他非它的職責交由代理完成

=> 呼叫介面由Proxy去負責,內部實作核心則由RealSubject去完成

  • 當真實角色商業邏輯變化時,只要Subject定義的介面不變,Proxy仍不用修改而正常使用

 

=> 當商業邏輯有變更時,可以鎖定RealSubject進行擴充,又可以確保Proxy可以正常運作

 

 

 

缺點

  • 客戶需透過代理才能請求真實角色做事,處理速度會變慢。

3.3 代理模式的應用

  • 遠程代理:可以為不同地址空間的物件提供一個本地的代理物件,比如Web Service,在.NET有WebReference、Java有RMI
  • 虛擬代理:是根據需建立消耗大資源的物件,先建立一個小的物件,等待真實角色實例化完成。比如使用Web或者視窗程式,在讀取圖片時,會先用"Loadiing..."等待畫面給客戶看當真實圖片載入完成後,再實際顯示給客戶
  • 保護代理:依照客戶的權限,來控制對真實角色的存取
  • 智能引用:當代理呼叫真實角色時,代理會做其他的功能,比如計算真實角色被呼叫的次數
  • 快取代理:將真實角色的運算結果儲存在臨時的共同空間,多個客戶可以取這些共同的結果
arrow
arrow
    全站熱搜

    me1237guy 發表在 痞客邦 留言(0) 人氣()