首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

.NET 設計模式實戰:代理模式 完整解析與代碼範例

     編輯:關於.NET

一、模式簡介

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

二、解決四類問題

  1. 遠程代理: 為不同位址空間的物件提供本地代表,隱藏遠程通訊細節。例:.NET Web Service 產生的 WebReference 即為代理。
  2. 虛擬代理: 延遲建立高開銷物件。例:瀏覽器先顯示文字,圖片按需下載。
  3. 安全代理: 控制真實物件存取權限,適用不同權限場景。
  4. 智能指引: 呼叫真實物件前附加額外邏輯(如鎖定檢查、日誌記錄)。

三、結構與代碼實作

代理模式 UML 結構圖

1. 抽象主題

public abstract class Subject {
  public abstract void Request();
}

2. 真實主題

public class RealSubject : Subject {
  public override void Request() {
    Console.WriteLine("真實主題方法執行中。");
  }
}

3. 代理類別

public class Proxy : Subject {
  private RealSubject _realSubject;
  public override void Request() {
    Console.WriteLine("透過代理存取真實主題。");
    if (_realSubject == null) _realSubject = new RealSubject();
    _realSubject.Request();
  }
}

4. 客戶端

class Program {
  static void Main() {
    Proxy proxy = new Proxy();
    proxy.Request();
    Console.Read();
  }
}

執行結果

代理模式執行輸出

四、案例分析

代理模式應用場景圖

五、總結

代理模式四大類型:遠程、虛擬、安全、智能指引。核心在於控制存取、延遲建立、權限管理與橫切關注點分離。

出處:https://www.cnblogs.com/ywqu

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved